異常處理:
1,是由語法上的錯誤引發的異常 (程式執行前就改正)
2,是邏輯上的錯誤引發的異常
預防:對於邏輯上的錯誤,盡量用if來預防異常
無法預防:對於的邏輯上無法預知的錯誤,應該用try。。。except處理
try。。。except 語法:
try:被檢測的**塊
except 異常name as e:
print(e)
except 異常name as e:print(e)
except 異常name as e:print(e)
except exception as e: #萬能異常pass
else:
沒有異常的時候觸發
finally:
有沒有異常都觸發
class myexceprion(baseexceprion): #自定義異常
pass
raise type(『異常值』) #主動觸發異常
assert 1==2 ##斷言不通過,就丟擲異常
#保證程式走到某乙個階段的時候,xx必須等於xx,程式才能往下走
#否則,丟擲異常
萬能異常使用:同一種錯誤。
二,模組與包
模組分三類:內建模組,第三方模組,自定義模組
包是從資料夾/目錄,級別組織模組。
模組的使用 2種 方法:
1,improt
2,from。。。import
只要匯入都會幹3件事情:
1,執行檔案。
2,建立命名空間。
3,建立模組名,指向該檔案建立的命名空間。
模組名。名字
匯入模組,使用注意事項:
import spam
spam.name 使用的時候,必須帶spam
from spam import name
name 直接用最後的name名字
匯入包,使用注意事項:
1,點的左側,必須是乙個包
2, import glance.api.policy
glance.api.policy.name 使用的時候,要帶上前面的,加上點policy
3,from glance.api.policy import name
name 使用的時候,直接用name
from ....import...(import後面是name,不能帶點)
特別注意:
1,import匯入內建或第三方模組,但是絕對要避免使用import來匯入自定義包的子模組。
2,應當使用from...import...的絕對或相對匯入,且包的相對匯入只能用from的形式。
盡量用相對匯入。(絕對匯入,如果改名,就會出現問題)
3,把包當作模組去看sys
處理異常總結
總結一下在ray上看到的關於異常的幫助 有兩種崩潰 一種是sigabrt exc crash 一種是exc bad access sigbus or sigsegv sigabrt exc bad access是一種更難除錯的異常,因為它通常是記憶體管理問題 1.注意 錯誤 this class i...
異常處理總結
總的來說異常分為兩種 一 cheked exception 檢查異常 此異常在編譯時候就會檢測出來,我們必須進行捕獲處理。二 unchecked exception 非檢查異常 此異常是在執行期才會丟擲。例如我們常見的nullpointerexception indexoutofbound cept...
的異常處理 C 異常處理總結
做開發不僅僅要考慮到業務邏輯更要在寫 時將各種可能考慮周全,但是這又是很難的事情,畢竟開發就是個人的事,而使用者可能上萬甚至百萬級別。這時,程式的穩定性就極為重要,我們不能讓程式因為某一處執行出問題而就直接導致程式或者產生其他更嚴重的後果,比如 做除法時當除數為零時,陣列訪問越界時,容器capaci...