![](/img/trans.png)
[英]Python: how can I handle any unhandled exception in an alternative way?
[英]How can I handle a boto exception in python?
如何在python中包裝boto.storage_uri()
調用,以便我可以處理可能的異常?
關於Boto的問題很好,並不容易回答。 Boto異常層次結構的設計很差,最終確定要捕獲的異常的唯一方法是查看boto源代碼。
例如,如果您查看(在Ubuntu上)/usr/share/pyshared/boto/exception.py,您將看到有兩大類:boto.exception.BotoClientError boto.exception.BotoServerError
許多例外都是從這兩個例子中得出的,雖然“客戶”和“服務器”的概念定義不是很明確,你可能想要檢查兩者,以確保許多例外可能發生意外(像往常一樣)。 但是,諸如boto.exception.NoAuthHandlerFound之類的異常直接從Exception派生,因此您必須單獨檢查它。
不幸的是,通過查看代碼,似乎在Boto中定義異常層次結構時既不一致也不在意,這是Boto設計中的一個缺陷,遺憾的是,您需要依賴比通常建議的更廣泛的異常檢查。
查看boto3源代碼,Boto3Error被聲明為所有boto錯誤的基礎。 所以,你可以這樣做:
try:
boto.storage_uri()
except Boto3Error:
# handle errors
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.