熱線電話:13121318867

登錄
首頁精彩閱讀淺談python拋出異常、自定義異常, 傳遞異常
淺談python拋出異常、自定義異常, 傳遞異常
2017-11-29
收藏

淺談python拋出異常、自定義異常, 傳遞異常

一. 拋出異常
Python用異常對象(exception object)表示異常情況,遇到錯誤后,會引發異常。如果異常對象并未被處理或捕捉,程序就會用所謂的回溯(Traceback,一種錯誤信息)終止執行。
raise 語句
Python中的raise 關鍵字用于引發一個異常,基本上和C#和Java中的throw關鍵字相同,如下所示:    
import traceback
 
def throw_error():
  raise Exception("拋出一個異常")#異常被拋出,print函數無法執行
  print("飛天豬")
   
throw_error()

#運行結果:    
'''Traceback (most recent call last):
 File "C:\Users\Administrator\Desktop\systray.py", line 7, in <module>
  throw_error()
 File "C:\Users\Administrator\Desktop\systray.py", line 4, in throw_error
  raise Exception("拋出一個異常")#異常被拋出,print函數無法執行
Exception: 拋出一個異常'''
raise關鍵字后面是拋出是一個通用的異常類型(Exception),一般來說拋出的異常越詳細越好
二.傳遞異常:
捕捉到了異常,但是又想重新引發它(傳遞異常),可以使用不帶參數的raise語句即可:    
class MufCalc(object):
  m = False
  def calc(self,exp):
    try:
      return eval(exp)
    except ZeroDivisionError:
      if self.m:
        print("cool")
      else:
        raise
 
app = MufCalc()
app.calc(2/0)
三.自定義異常類型:
Python中也可以自定義自己的特殊類型的異常,只需要要從Exception類繼承(直接或間接)即可:    
class MyError(Exception):
  pass

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢