| 異常 | 描述 |
| NameError | 嘗試訪問一個沒有聲明的變量 |
| ZeroDivisionError | 除數為0 |
| SyntaxError | 語法錯誤 |
| IndexError | 索引超出序列范圍 |
| KeyError | 請求一個不存在的字典關鍵字 |
| IOError | 輸入/輸出錯誤(比如你要讀的文件不存在) |
| AttributeError | 嘗試訪問未知的對象屬性 |
PRint(e)5.3.3 else語句
try: print("I am try")except: print("I am except")else: print("I am else")I am tryI am elsetry: print(1/0)except: print("I am except")else: print("I am else")I am exceptexcept(Exception)as e: 不管什么異常都會捕獲,并且傳給變量e。5.3.4 finally子句
有了finally,不管前面執行的是try,還是except,最終都要執行finally。因此,有一種說法是將finally用在可能的異常后進行清理。5.3.5 assert語句
>>> assert 1==1>>> assett 1==0 File "<stdin>", line 1 assett 1==0 ^SyntaxError: invalid syntaxassert,翻譯過來就是“斷言”之意。assert是語句等價于布爾真的判定,發生異常就意味著表達式為假。應用情境就和意思一樣,當程序運行到某個節點的時候,就斷定某個變量的值是什么,或者對象必然擁有某個屬性等,簡單說就是斷定什么東西必然是什么,如果不是,就拋出錯誤。如果沒有特別的目的,斷言應該用于如下情況:防御性的編程。運行時對程序邏輯的檢測。合約性檢查(比如前置條件,后置條件)。程序中的常量。檢查文檔。(python使用斷言的最佳時機)
|
新聞熱點
疑難解答