主要是用來記錄一下: raise error的用法, 這裡我自己引發乙個timeouterror, 這個錯誤網路爬蟲上比較多見, 常常死連不動沒任何反應. 這時要事先設定好timeout再連.
import sys
import traceback
def mytrycatchexception():
for i in range(0,3):
try:
if i == 0:
raise timeouterror('我引發乙個超時錯誤')
elif i == 1:
a = b = c = 1
print (10 /(a+b-2*c)) # 除0錯誤
elif i == 2:
with open('adsfjowr.xxdf','r',encoding='utf-8') as f: # 開啟乙個不存在的檔案
txt = f.read('hello')
except exception as e:
if e.__class__ == timeouterror:
msg = e.args[0]
exc_type, exc_value, exc_traceback_obj = sys.exc_info()
traceback.print_tb(exc_traceback_obj)
elif e.__class__ == zerodivisionerror:
print(f'發生除零錯誤 msg:')
else:
print( e.__class__ )
print(f'錯誤 msg: ')
if __name__ == "__main__":
mytrycatchexception()
異常處理中的乙個小知識
最近在學習hibernate呢,裡面有乙個全域性的乙個變數 sessionfactory。那麼很明顯我們需要將其靜態生成。這個變數的初始化需要寫在乙個static的 塊中,而且這個變數的初始化還可能丟擲異常。還好本人的能力不咋地,就遇到了這樣的乙個問題 變數的初始化發生了異常,而且最後還顯示了乙個找...
乙個簡單的異常處理demo
首先,1.自定義異常類 data public class lyexception extends runtimeexception通過列舉的方式建立異常資訊 getter noargsconstructor allargsconstructor public enum exceptinenums建...
乙個模組如何處理異常
乙個模組如何處理異常?最理想,最好的用模組是沒有異常,保證操作如預想的結果一致。當操作無法成功完時,必然會產生錯誤,或異常。乙個是返回錯誤碼,乙個是丟擲異常。錯誤一般是立即處理,不然就是忽略錯誤。一般不會儲存錯誤,然後統一處理。異常的優點是可以處理,也可以繼續丟擲,由更上層進行統一處理。可以丟擲異常...