while
true
:try
:# **塊,邏輯
inp =
input
('請輸入序號:'
) i =
int(inp)
except exception as e:
# e是exception物件,物件中封裝了錯誤資訊
# 上述**塊如果出錯,自動執行當前塊的內容
print
(e) i =-1
print
(i)
def
fun():
ret =
0try
: li =[11
,22] li[8]
# 陣列越界
# int('w3r') # 數值錯誤
except indexerror as e:
# 細分類提在最上面
print
('indexerror'
,e)except valueerror as e:
print
('valueerror'
,e)except exception as e:
# 捕捉所有錯誤,寫在最後
print
('exception'
,e)else
:# 不出錯執行else
ret =
1print
('elese'
)finally
:# 最後不管出不出錯都執行
print
('....'
)return ret
r = fun(
)if r ==0:
print
('500'
)else
:pass
try:
int(
'asdf'
)# 報錯
except exception as e:
print
(e)
defdb(
):return
false
defindex()
:try
: r =
input
(">>"
)int
(r) result = db()if
not result:
raise exception(
'資料庫處理錯誤'
)# 直接觸發下面的異常
except exception as e:
str_error =
str(e)
r =open
('log'
,'a'
) r.write(str_error)
# 開啟檔案,寫日誌
index(
)
try catch語句的巢狀
demo1 巢狀try,內層中沒有catch語句 try finally catch ex 彈出 finally outer opps 原因 最外部的try語句塊中巢狀了乙個try finally語句,內部的try語句中丟擲了乙個異常,但是內部沒有catch語句塊,所以會執行最近的乙個catch語句...
try catch 語句的使用
try catch他是用來捕獲錯誤的方法,很多時候我們打了一大串 後發現竟然出錯了,可是找啊找都感覺自己的 好像沒有錯誤,就像我,經常出現這樣的問題 滑稽 所以通常會浪費很長的時間才能查出 錯誤,有時候真的很令人煩躁的,後來學到這try catch後就方便了許多 那麼我們就開始把他的基本語法如下圖所...
異常處理 try catch 用法
無論編碼技術多好,程式都必須處理可能出現的錯誤,錯誤的出現並不總是編寫應用程式的人的原因,有時應用程式會因為終端使用者的操作耍花招生錯誤,無論如何,我們都應 程式和 的錯誤。特別是在編寫 自己不細心,有時會因為乙個小小的問題,影響很大進度。為這些情況,c 語言提供了處理這種情形的絕佳工具 異常處理。...