Python 如何确保在使用boto3(AWS)上传到Glacier时捕获所有可能的异常
我正在编写一个小型python应用程序,将档案上传到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
- 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
资料来源:
非常感谢您的支持!我真的很感谢你的帮助,非常感谢!我真的很感谢你的帮助