利用python捕獲異常的方式
方法一:捕獲所有的異常
1
2
3
4
5
6
7
8
''' 捕獲異常的第一種方式,捕獲所有的異常 '''
try
:
a
=
b
b
=
c
except
exception,data:
print
exception,
":"
,data
''
'輸出:<type '
exceptions.exception
'> : local variable '
b'
referenced before assignment ''
方法二:採用traceback模組檢視異常,需要匯入traceback模組
1
2
3
4
5
6
7
8
9
10
''' 捕獲異常的第二種方式,使用traceback檢視異常 '''
try
:
a
=
b
b
=
c
except
:
print
traceback.print_exc()
'''輸出: traceback (most recent call last):
file
"test.py"
, line
20
,
in
main
a
=
b
unboundlocalerror: local variable
'b'
referenced before assignmen
方法三:採用sys模組回溯最後的異常
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
''' 捕獲異常的第三種方式,使用sys模組捕獲異常 '''
try
:
a
=
b
b
=
c
except
:
info
=
sys.exc_info()
print
info
print
info[
0
]
print
info[
1
]
'''輸出:
(<type 'exceptions.unboundlocalerror'>, unboundlocalerror("local
variable 'b' referenced before assignment",),
<traceback object at 0x00d243f0>)
<type 'exceptions.unboundlocalerror'>
local variable 'b' referenced before assignment
'''
JVM 是如何處理異常
jvm 是如何處理異常的?參 在乙個方法中如果發生異常,這個方法會建立乙個異常物件,並轉交給 jvm,該異常物件包含異常名稱,異常描述以及異常發生時應用程式的狀態。建立異常物件並轉交給 jvm 的過程稱為丟擲異常。可能有一系列的方法呼叫,最終才進入丟擲異常的方法,這一系列方法呼叫的有序列表叫做呼叫棧...
總結springboot如何處理異常的
springboot預設的處理異常的機制 springboot 預設的已經提供了一套處理異常的機制。一旦程式 現了異常 springboot 會向 error 的 url 傳送請求。在 springboot 中提供了乙個叫 basicerrorcontroller 來處理 error 請求,然後跳轉...
乙個模組如何處理異常
乙個模組如何處理異常?最理想,最好的用模組是沒有異常,保證操作如預想的結果一致。當操作無法成功完時,必然會產生錯誤,或異常。乙個是返回錯誤碼,乙個是丟擲異常。錯誤一般是立即處理,不然就是忽略錯誤。一般不會儲存錯誤,然後統一處理。異常的優點是可以處理,也可以繼續丟擲,由更上層進行統一處理。可以丟擲異常...