python自定義異常和主動拋出異常(raise)(轉)


				版權聲明:本文為博主原創文章,未經博主允許不得轉載。					https://blog.csdn.net/skullFang/article/details/78820541				</div>
							            <div id="content_views" class="markdown_views">
						<!-- flowchart 箭頭圖標 勿刪 -->
						<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg>
						<h1 id="前言"><a name="t0" target="_blank"></a>前言</h1>

有時候python自帶異常不夠用,如同java,python也可以自定義異常,並且可以手動拋出。注意,自定義異常只能由自己拋出。python解釋器是不知道用戶自定義異常是什么鬼的。

raise語句

主動拋出異常。
格式:
主動拋出異常終止程序
raise 異常名稱(‘異常描述’)

raise RuntimeError('testError')
   
   
   
           
  • 1

image.png
主動拋出這個異常,並加以解釋。

自定義異常

python的異常分為兩種.
1、內建異常,就是python自己定義的異常。
2、不夠用,用戶自定義異常,
首先看看python的異常繼承樹
image.png
我們可以看到python的異常有個大基類。然后繼承的是Exception。所以我們自定義類也必須繼承Exception。

#最簡單的自定義異常
class FError(Exception):
    pass
   
   
   
           
  • 1
  • 2
  • 3

拋出異常、用try-except拋出

try:
    raise FError("自定義異常")
except FError as e:
    print(e)

   
   
   
           
  • 1
  • 2
  • 3
  • 4
  • 5

image.png
在這里給一個簡單的自定義異常類模版。

class CustomError(Exception):
    def __init__(self,ErrorInfo):
        super().__init__(self) #初始化父類
        self.errorinfo=ErrorInfo
    def __str__(self):
        return self.errorinfo

if __name__ == '__main__':
    try:
        raise CustomError('客戶異常')
    except CustomError as e:
        print(e)
   
   
   
           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

image.png

文章出處:https://blog.csdn.net/skullfang/article/details/78820541


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM