[英]Don't understand why this NameError: name 'null' is not defined exception occurs
[英]Why does the exception statement not executes when NameError occurs?
通過以下方式定義 function 和 try/except/else 語句后:
def divide(a, b):
try:
a / b
except:
return False, 'Error occurred'
else:
return True, 'Division successful'
當提供給 function 的參數是未定義變量的名稱時,不會引發異常。 例如:
divide(2, J)
而不是在 except 語句下執行代碼塊,而是顯示以下錯誤:
NameError: name 'J' is not defined
我曾嘗試重寫 except 語句( except NameError:
),但無濟於事。
如果有人能解釋為什么在這種情況下不執行 except 語句,我將不勝感激,如果出現 NameError,如何確保它的執行?
J
在您的情況下是一個變量,未定義。 甚至在 function 運行之前, J
被調用但不存在,因此您的錯誤:名稱“J”未定義。 我假設您想使用將參數作為字符串傳遞的divide(2, "J")
來測試您的 function。 這應該會根據需要提高 except 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.