引發異常允許對 Python 程式碼中的錯誤和中斷進行受控處理。本文示範如何手動引發特定異常,以便正確擷取和處理它們。
要引發異常,請使用 raise 關鍵字,後面跟著異常類別和任何自訂訊息參數。例如:
raise ValueError('Invalid input value.')
選擇特定的異常類:
使用適合情況的最具體的異常構造函數,如下通用異常可以隱藏錯誤並阻止特定處理。
包括描述性訊息:
提供具體且有意義的錯誤訊息以幫助診斷問題。
避免修改異常:
如果需要修改異常,請使用sys.exc_info() 來保留堆疊追蹤。但是,通常不建議這樣做,並且可能會引入 Python 2 和 3 之間的兼容性問題。
使用 except 子句:
何時處理異常,使用 except 子句捕獲特定的異常類型。
Bare raise for重新引發:
要在保留堆疊追蹤的同時重新引發異常,請使用裸引發語句:
try: # Code that may raise an exception except SpecificException: logger.error(error) raise
避免使用這些引發方法異常:
def check_input(value): if not isinstance(value, int): raise TypeError('Input must be an integer.') if value < 0: raise ValueError('Input must be positive.') try: check_input(-1) except TypeError as error: print('Wrong input type:', error) except ValueError as error: print('Invalid input value:', error)
建立自訂錯誤類型來處理特定的錯誤情境:
class MyCustomError(Exception): '''This error represents a specific problem with my code.'''
用法:
raise MyCustomError('An unexpected issue occurred.') except MyCustomError as error: print('Custom error raised:', error)
以上是如何在Python中手動引發異常並有效處理它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!