Python – Try-except statement

測試環境為 CentOS 8 x86_64 (虛擬機)

Try-except statement 格式如下,通常會搭配 raise exception – https://benjr.tw/104314 來使用.

try:
  # 執行以下區塊的程式碼.
except 例外名稱:
  # 如 Try 區塊內的程式碼無法正確執行時則執行 Except 內容(可以指定 Except 錯誤名稱).
except:
  # 如 Try 區塊內的程式碼無法正確執行時則執行 Except 內容.
else:
  # 如 Try 區塊內的程式碼並未發生錯誤時執行 ELSE 區塊內的程式碼.
finally:
  # 不管 Try 區塊內的程式碼是否可以正確執行都要執行 Finally 區塊內的程式碼.

下面範例輸入兩整數,並透過 Try-except 來避免錯誤發生.

[root@localhost ~]# vi try.py
try:
    a=int(input("Input a number:" ))
    b=int(input("Input a number:" ))
    c=a/b
except ZeroDivisionError:
    print('Division by zero')
except Exception as e:
    print(e)
else:
    print(a , "/" , b ,"=" ,c)
finally:
    print("Complete")

因為有發生 ZeroDivisionError 所以執行 except ZeroDivisionError 區塊.

[root@localhost ~]# python3 try.py
Input a number:1
Input a number:0
Division by zero
Complete

發生非 ZeroDivisionError 錯誤所以執行 except Exception as e 區塊.

[root@localhost ~]# python3 try.py
Input a number:1
Input a number:y
invalid literal for int() with base 10: 'y'
Complete

無錯誤所以所以執行 else 區塊.

[root@localhost ~]# python3 try.py
Input a number:1
Input a number:2
1 / 2 = 0.5
Complete
沒有解決問題,試試搜尋本站其他內容

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料