try
: 檢測範圍
except exception[
as reason]
: 出現異常後的處理**
try 語句按照如下方式工作:
【例子】
try
: f =
open
('test.txt'
)print
(f.read())
f.close(
)except oserror:
print
('開啟檔案出錯'
)# 開啟檔案出錯
`try-except-else`語句嘗試查詢不在`dict`中的鍵值對,從而引發了異常。這一異常準確地說應屬於`keyerror`,但由於`keyerror`是`lookuperror`的子類,且將`lookuperror`置於`keyerror`之前,因此程式優先執行該`except`**塊。所以,使用多個`except`**塊時,必須堅持對其規範排序,要從最具針對性的異常到最通用的異常。
【例子】
dict1 =
try:
x = dict1[
'y']
except keyerror:
print
('鍵錯誤'
)except lookuperror:
print
('查詢錯誤'
)else
:print
(x)# 鍵錯誤
【例子】乙個except
子句可以同時處理多個異常,這些異常將被放在乙個括號裡成為乙個元組。
try
: s =1+
'1'int
("abc"
) f =
open
('test.txt'
)print
(f.read())
f.close(
)except
(oserror, typeerror, valueerror)
as error:
print
('出錯了!\n原因是:'
+str
(error)
)# 出錯了!
# 原因是:unsupported operand type(s) for +: 'int' and 'str'--
-## 4. try - except - finally 語句
```python
try:
檢測範圍
except exception[
as reason]
: 出現異常後的處理**
finally
: 無論如何都會被執行的**
不管try
子句裡面有沒有發生異常,finally
子句都會執行。
如果乙個異常在try
子句裡被丟擲,而又沒有任何的except
把它截住,那麼這個異常會在finally
子句執行後被丟擲。
如果在try
子句執行時沒有發生異常,python將執行else
語句後的語句。
try
: 檢測範圍
except
: 出現異常後的處理**
else
: 如果沒有異常執行這塊**
使用except
而不帶任何異常型別,這不是乙個很好的方式,我們不能通過該程式識別出具體的異常資訊,因為它捕獲所有的異常。
try
: 檢測範圍
except
(exception1[
, exception2[,.
..exceptionn]]]
):發生以上多個異常中的乙個,執行這塊**
else
: 如果沒有異常執行這塊**
【例子】
try
: fh =
open
("testfile"
,"w"
) fh.write(
"這是乙個測試檔案,用於測試異常!!"
)except ioerror:
print
("error: 沒有找到檔案或讀取檔案失敗"
)else
:print
("內容寫入檔案成功"
) fh.close(
)# 內容寫入檔案成功
注意:else
語句的存在必須以except
語句的存在為前提,在沒有except
語句的try
語句中使用else
語句,會引發語法錯誤。
python 使用raise
語句丟擲乙個指定的異常。
【例子】
try
:raise nameerror(
'hithere'
)except nameerror:
print
('an exception flew by!'
)# an exception flew by!
Datawhale組隊學習 3 異常處理
題目描述 電腦產生乙個零到100之間的隨機數字,然後讓使用者來猜,如果使用者猜的數字比這個數字大,提示太大,否則提示太小,當使用者正好猜中電腦會提示,恭喜你猜到了這個數是 在使用者每次猜測之前程式會輸出使用者是第幾次猜測,如果使用者輸入的根本不是乙個數字,程式會告訴使用者 輸入無效 嘗試使用try ...
struts 異常處理 全域性異常處理
記錄一下全域性異常處理的過程 處理主動丟擲的異常,轉向錯誤提示頁面。1 寫乙個自己的異常,繼承runtimeexception,從父類生成構造方法 package me.yndy.srtp.exception suppresswarnings serial public class errorexc...
python異常處理 Python 異常處理
使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...