Day38(0222) <<
Previous Next >> Day39(0223)
例外處理(二)
try...except
可以利用try...except敘述處理例外,語法如下:
try:
try_statements
except [exceptionType [as identifier]]:
except_statements
[else:
else_statements]
[finally:
finally_statements]
1.try子句:try...except必須放在可能發生例外的敘述周圍,而try_statements就是可能發生例外的敘述。
2.except子句:用來捕捉指定的例外,一旦捕捉到,就執行except_statements,這是用來處理例外的敘述。若要用來對不同例外做不同的處理,可使用多個except子句,其中exceptionType是欲捕捉的例外型別,若無指定,表示為預設型別BaseException。
3.else子句:當try_statements未發生例外時,會跳過except子句,然後執行else_statements。else為選擇性敘述,可指定或省略。
4.finally子句:當要離開try...except時,不論是否發生例外,都會執行finally_statements,內容可能為一些用來消除錯誤或者是收尾的敘述。
自行丟出例外
可以利用raise敘述自行丟出指定的例外,如下,敘述會丟出一個NameError例外,相關訊息為"HiThere":
>>>raise NameError("HiThere")
Traceback (most recent call last):
File "<pyshell#3>", line1 , in <module>
raise NameError("HiThere")
NameError: HiThere
Day38(0222) <<
Previous Next >> Day39(0223)