有兩種錯誤:語法錯誤和異常
在執行時發現的錯誤稱為異常,並不是無條件致命的
處理異常:
try:
clause1except reason:
clause2else :
clause 3首先在try和except之間的語句執行,如果沒有異常發生,except語句被略過。如果發生異常,剩下的語句將跳過。如果型別與except後的關鍵字有匹配的,則執行相應語句,然後再接著執行try後面的語句,如果沒有匹配的,將傳遞到try語句的外層,如果仍無法處理,則為未處理異常。
乙個 except 中可以包含多個 異常。也可以有多個異常語句。最後乙個except可以不包含異常名,而作為乙個通配項。
異常語句可以在異常名後面指定變數。變數屬於異常例項,引數存在instance.args中。方便起見,異常定義了__str__()這樣引數就可直接被列印而不需要引用.args。可以在丟擲異常前例項化異常,增加任何想要的屬性。
raise語句用來強制丟擲指定異常,如果想丟擲異常而不處理,可直接使用raise
使用者自定義異常:通過建立新的異常類來命名自己的異常。異常通常是由exception類直接或間接的匯出的。異常類可以做其他任何類相同的事,但通常只提供乙個屬性,允許錯誤資訊在異常時被對應的處理子抽取。__init__() __str__()
try:
clausefinally:
clausefinally語句用來在將要離開try語句前執行,不管異常是否發生。當異常發生時,且沒有被處理時,將在finally執行完後重新被丟擲。 任何其他的語句導致退出try語句如break,continue,return都會執行finally語句。 finally一般用於釋放資源
預定義的清除動作需要使用with語句,with語句保證像檔案一樣的物件能夠被合理並正確的被清除
閱讀筆記七
我們來講乙個故事,一位旅行者路過乙個烈日下的工地,所有人都在那兒汗流浹背地搬磚。旅行者問第乙個人在幹什麼,那人頭也沒抬地回答 我在搬磚。旅行者問第二個人在幹什麼,這個匆匆抬起頭認真地說 我在砌牆。旅行者問第三個人在幹什麼的時候,那個人臉上充滿了光彩,很自信地說 我在蓋聖瑪利亞大教堂。這個故事是不是像...
《設計原本》閱讀筆記(七)
邏輯美有很多要素,首先是簡約。優雅 需要簡約,在數學中對優雅的乙個定義就是 使用更少的元素完成更多的處理 人們也傾向於將簡約作為程式語言的設計原則,計算機設計必須將簡約放在重要的位置上。這裡以程式語言的學習喜好來說,並沒有程式語言比較的意思,我們都知道c c 作為可以觸及底層的語言,它們有一種結構嚴...
閱讀筆記 TypeScript菜鳥教程
1.概述 型別註解 介面和類 2.基礎型別 let arr any 1,a true let arr number 1,2 let arr array 1,2 let x string,number x point 122 列舉enum enum color let c color color.bl...