在Python中,assert
語句用于進行調試目的的斷言
以下是一些處理assert
函數拋出的異常的方法:
try-except
捕獲異常:def divide(a, b):
try:
result = a / b
except ZeroDivisionError as e:
print("Error:", e)
return None
else:
return result
num1 = 10
num2 = 0
result = divide(num1, num2)
if result is not None:
print("Result:", result)
else:
print("Division failed")
在這個例子中,我們定義了一個名為divide
的函數,該函數嘗試將兩個參數相除。我們使用try-except
結構來捕獲可能發生的ZeroDivisionError
異常。如果沒有異常發生,則返回計算結果;否則,打印錯誤信息并返回None
。
assert
:def divide(a, b):
if b == 0:
print("Error: Division by zero")
return None
else:
return a / b
num1 = 10
num2 = 0
result = divide(num1, num2)
if result is not None:
print("Result:", result)
else:
print("Division failed")
在這個例子中,我們不再使用assert
語句,而是使用一個簡單的條件判斷來檢查除數是否為零。如果除數為零,則打印錯誤信息并返回None
;否則,返回計算結果。
請注意,assert
語句通常僅在開發和測試階段使用,因為它們可以被全局優化選項(如使用-O
標志運行Python)禁用。在生產環境中,最好使用條件判斷或異常處理來確保代碼的健壯性。