2020-12-18python中異常值處理中的程式碼不能執行

yanyanfree發表於2020-12-18

python中關於ValueError異常值處理不能正常顯示的問題

python異常值處理結構

python中異常值處理結構是:try-except-else
try:放入可能引發異常值的程式碼
except:中的程式碼告訴python,如果執行try中的程式碼出現了異常,該怎麼辦。
else:當try中的程式碼成功執行時,執行else中的程式碼。

except中的程式碼不能正常執行

原本程式碼塊如下所示:

try:
    nums = input('Please enter two numbers: ')
    summary = 0
except ValueError:
    print('Your input is not numbers,they are txt')
    pass
else:
    for num in nums:
        num_i=int(num)
        summary = num_i+summary
    print(summary)

此程式碼塊的問題是,輸入為字串時,不能觸發異常值處理except中的語句,原因是:沒有將可能引發異常值的語句:num_i=int(num)放入try中。
現將可能引發異常值的語句放在try中,程式碼如下:

nums = input('Please enter two numbers: ')
summary = 0     
try:
    for num in nums:
        num_i=int(num)
        summary = num_i+summary
except ValueError:
    print('Your input is not numbers,they are txt')      
else:
    print(summary)

輸出結果如上圖所示,可以觸發異常值處理。

相關文章