Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何确保在使用boto3(AWS)上传到Glacier时捕获所有可能的异常_Python_Amazon Web Services_Boto3_Botocore - Fatal编程技术网

Python 如何确保在使用boto3(AWS)上传到Glacier时捕获所有可能的异常

Python 如何确保在使用boto3(AWS)上传到Glacier时捕获所有可能的异常,python,amazon-web-services,boto3,botocore,Python,Amazon Web Services,Boto3,Botocore,我正在编写一个小型python应用程序,将档案上传到AWS Glacier。在上传过程中,我调用以下方法: client.initiate_multipart_upload() client.upload\u multipart\u part() client.complete\u multipart\u upload() 如果连接丢失或请求耗时过长,所有这些都可能引发许多不同的异常 我使用的是: except (botocore.exceptions.EndpointConnection

我正在编写一个小型python应用程序,将档案上传到AWS Glacier。在上传过程中,我调用以下方法:

  • client.initiate_multipart_upload()
  • client.upload\u multipart\u part()
  • client.complete\u multipart\u upload()
如果连接丢失或请求耗时过长,所有这些都可能引发许多不同的异常

我使用的是:

 except (botocore.exceptions.EndpointConnectionError, client.exceptions.RequestTimeoutException):
要尝试捕获它们,请在设定的时间段后重试,并在设定的尝试次数后放弃,但有时仍会出现其他未捕获的异常。现在我已经改用毯子了

except:

声明,对此我不是很高兴。我的应用程序在另一个阶段检查AWS帐户凭据、vault名称和与AWS的连接,因此不需要考虑这些。是否有一种方法可以捕获执行这三种方法时可能发生的所有boto3和botocore异常?

botocore.exceptions。BOTOCORERROR
是botocore异常的基本异常类

boto3.exceptions.Boto3Error
是所有boto3异常的基本异常类

您还应该注意
botocore.exceptions.ClientError
botocore.exceptions.ConnectionClosedError
,它们不继承
botocore.exceptions.BotoCoreError

资料来源:


botocore.exceptions.botocorerror
是botocore异常的基本异常类

boto3.exceptions.Boto3Error
是所有boto3异常的基本异常类

您还应该注意
botocore.exceptions.ClientError
botocore.exceptions.ConnectionClosedError
,它们不继承
botocore.exceptions.BotoCoreError

资料来源:


非常感谢您的支持!我真的很感谢你的帮助,非常感谢!我真的很感谢你的帮助