輕鬆解決python異常處理,你值得擁有

python中常見的異常信息+處理方法

常見異常類型

異常類名 功能描述
Exception 所有異常的基類
ValueError 對象值不正確時引發該錯誤
AttributeError 對象中沒有該屬性或方法時引發該錯誤
SyntaxError 語法錯誤時引發該錯誤
IndexError 指定數據類型索引超出序列範圍時引發該錯誤
KeyError 申請字典或集合不存在的鍵或關鍵字時引發該錯誤
NameError 使用不存在的標識符時引發該錯誤
TypeError 傳給對象的參數類型不正確時引發該錯誤
MoudleNoFoundError 找不到模塊名時引發該錯誤
EOFError 一個’end of file’到達控制台或文件輸入時引發該錯誤
IOError 輸入/輸出操作失敗時引發該錯誤
StopIteration 遍歷的迭代器(生產器)中沒有元素時引發該錯誤

異常處理

  • 使用try except (else finally)方法去處理異常,其中後兩者可選

    ls=[1,2,3,4]
    try:
        for i in range(10):
            print(ls[i])
    #觸發異常就執行except下的代碼
    except IndexError:	#設置異常類型,異常類型可省略不寫
        pass
    #沒有觸發異常就執行else下的代碼
    else:
        print('沒有超出索引範圍')
    #無論有沒有觸發異常都會執行finally下的代碼
    finally:
        print('都取完了,取值結束')
    
  • 主動拋出異常

    • 使用raise 異常類型(錯誤的信息描述)
    ls=[1,2,3,4]
    for i in range(10):
        print(ls[i])
        while i==len(ls)-1:
            raise IndexError('據我觀察 list index out range')
    
Tags: