簡體   English   中英

Python 捕獲異常和有效負載

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM