1. 程式人生 > >7天玩轉Python(七)異常處理

7天玩轉Python(七)異常處理

Python提供強大的異常處理機制,通過捕獲異常可以提高程式的健壯性。異常處理還具有釋放物件、終止迴圈運作等作用

Python中的異常

異常機制是指當程式出現錯誤後,程式的處理方法。

try ... except的使用

try 子句放置可能出現的異常語句,except程式碼塊處理異常

try:
    open("hi.txt",  "r")
    print("讀檔案")
except FileNotFoundError:
    print("檔案不存在")
except:
    print("程式異常")

try ... except語句後還可以新增1個else子句。

try:
    result = 10/0
except ZeroDivisionError:   # 捕獲除數為0的異常
    print("0不能被整除")
else:
    print(result)

異常語句的巢狀

try:
    s = "hello"
    try:
        print(s[0]+s[1])
        print(s[0]-s[1])
    except TypeError:
        print("字串不支援減法運算")
except:
    print("異常")

try...finally的使用

try:
    f = open("hello.txt","r")
    try:
        print(f.read(5))
    except:
        print("讀檔案錯誤")
    finally:
        print("釋放資源")
        f.close()
except FileNotFoundError:
    print("檔案並沒有找到")

使用raise丟擲異常

try:
    s = None
    if s is None:
        print("s是空物件")
        raise NameError           #丟擲自定義異常
    print(len(s))
except TypeError:
    print("空物件沒有長度")