[英]Python catching exceptions and payload
我有以下 Python 項目
.\\主函數.py
.\\Modules\\DatabaseFunction.py
.\\Modules\\DataBaseConnection.py
現在在 DataBaseConnection.py 我提出了一個例外:-
except pymysql.Error as ex:
raise json.dumps('error payload')
這上升到 DatabaseFunction.py 的一個級別,在這一點上是正確的我沒有捕捉到這個錯誤,因為我希望它過濾到 Mainfunction.py。 我的問題是如何在此級別捕獲此 expcetion 和有效負載?
我一天中的大部分時間都在忙於以下幾英里之外的事情:-
try:
x = DatabaseFunction.function(value1, value2, value3, etc)
except:
print(x)
pass
我基本上試圖將任何捕獲的錯誤傳遞給最高級別,並在頂部處理它們。
我建議在該場景中使用自定義異常
class CustomError(Exception):
def __init__(self, message, errors=None):
super().__init__(message)
self.errors = errors
所以在你的代碼中你可以實現類似的東西:
except pymysql.Error as ex:
raise CustomError('error payload')
和捕獲:
try:
x = DatabaseFunction.function(value1, value2, value3, etc)
except CustomError as e
print(e.message)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.