異常即是乙個事件,該事件會在程式執行過程中發生,影響了程式的正常執行。一般情況下,在python無法正常處理程式時就是發生乙個異常,異常是python物件,表示乙個錯誤,當python指令碼發生異常時我們需要捕獲處理它,否則程式會終止執行。
異常處理常用形式:
try:
正常操作
...... ...... ......
except:
發生異常,執行這塊**
...... ...... ......
else:
如果沒有異常執行這塊**
...... ...... ......
finally:
不管如何,最後一定要執行的**
...... ...... ......
舉例:
try:a=10integer division or modulo by zerob=0
a/b
exceptexception
ase:\\object是所有類的基類,exception這個類是所有異常類的基類print(e)\\列印出捕獲的異常內容
else:\\與except屬於並列情況,兩者只有乙個執行print(
'this is ok!')
finally:\\無論是否捕獲到異常,都會執行這一步print(
'end')
end
a= [1, 2, 3list index out of range]try:print(a[5
])
exceptindexerror
ase:\\如果指導報錯型別也可以直接寫明確的報錯型別,或者所有異常類的基類也可以print(e)
常見的異常報錯:了解就好,不需要全部背下來,知道英文報錯的意思,是什麼問題就可以。常見的錯誤要清楚。
根據**的邏輯性,捕獲到異常後,將報錯的地方進行處理。
raise用來觸發異常:語法為 raise [exception [,args [, traceback]]].
語句中exception是異常的型別,例如nameerror。引數是乙個異常引數值,該引數是可選的,如果不提供,異常的引數為」none「。最後乙個引數是可選的(在實踐中很少使用)如果存在,是跟蹤異常物件。
try:a=10traceback (most recent call last):b=0
a/b
exceptexception
ase:print(e)
raisee
else:print(
'this is ok!')
finally:print(
'end')
print(
'lllllllllllll')
file "except/demo1.py", line 17, in
raise e
zerodivisionerror: integer division or modulo by zero
integer division or modulo by zero
endraise關鍵字就是捕獲到異常,並丟擲,程式執行終止。但是finally還是會執行的。所以最後的print('llllllllllll')並沒有列印出來
前端學習Day18
一 3d的旋轉 增加了rotatez 和 rotate3d x,y,z,度數 注 x y z 它們是乙個向量值,0是不旋轉,1是旋轉 eg rotate3d 1,1,0,45deg 等價於 rotatex 45deg rotatey 45deg 二 3d的縮放 增加了 scalez 和 scale3...
寒假學習day18
今天學習了 布局的stretchcolumns 拉伸列 流程 在tablelayout中設定了四個按鈕,接著在最外層的tablelayout中新增以下屬性 android stretchcolumns 1 設定第二列為可拉伸列,讓該列填滿這一行所有的剩餘空間,如下 android id id tab...
Python菜鳥入門 day18程式設計學習
day01基礎知識 day02知識分類 day03運算子 day04數字與字串 day05列表 day06元組與字典 day07條件與迴圈 day08函式概念 day09資料結構 day10模組介紹 day11檔案操作 day12程式設計學習 day13程式設計學習 day14程式設計學習 day1...