1. 程式人生 > >python try異常處理

python try異常處理

python 異常處理

錯誤和異常: 錯誤: nameerror 未聲明、初始化對象 indexerror 序列中沒有此索引 syntaxerror 語法錯誤 keyboardinterrupt 用戶中端執行 EOFEror 沒有內建輸入,到達EOF標記 IOErrot 輸入/輸出操作失敗 import time for i in range(1,11): print(i) try: #把可能發生錯誤的代碼放入try裏面, time.sleep(1) except KeyboardInterrupt: #當產生KeyboardInterrupt print(‘Bey-Bey‘) #事後申請原諒比事前申請權限容易 try: number = int(input(‘number:‘)) result = 100 / number except (ValueError, ZeroDivisionError) as e: print(‘errot‘, e) except (KeyboardInterrupt, EOFError): print(‘\nBey-Bey‘) else: #沒有異常時執行的語句 print(result) finally: #不論有沒有異常都會執行的語句 print(‘done‘) 觸發異常: raise語句: 想要引發異常,最簡單的形式就是輸入關鍵字raise,後面跟要引發的異常的名稱 執行raise語句時,python會創建指定的異常類的一個對象 raise語句還可以指定對異常對象進行初始化的參數 def set_age(name, age): if not 0 < age < 150: raise ValueError(‘age out of range.‘) print(‘%s is %s years olg‘) % (name, age) #斷言: 斷言是一句必需等價於布爾值為真的判斷 此外,發生異常也意味著表達式為假 def set_age2(name, age): assert 0 < age < 150, ‘age out of range‘ #當表達式為真時,正常指定print語句,為假時執行報錯語句‘age out of range‘ print(‘%s is %s years lod‘ % (name, age)) if __name__ == ‘__main__‘: set_age(‘bob‘, 222)

python try異常處理