亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python如何使用raise拋出自定義異常

 更新時間:2023年08月12日 09:19:25   作者:一二三四!  
這篇文章主要介紹了python如何使用raise拋出自定義異常問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

python使用raise拋出自定義異常

1.顯然下面這段代碼中'索引越界了...'是這樣被傳遞的

接下來讓我們看一下具體的實現

練習1:判斷輸入字符串的長度,如果小于指定的長度就報錯

class ShortInputException(Exception):
    def __init__(self, length, least_length):
        super().__init__()
        self.length = length
        self.least_length = least_length
    def __str__(self):
        return '您輸入的長度為:{},最短長度為:{}'.format(self.length, self.least_length)
try:
    content = input('請輸入內容:')
    if len(content) < 5:
        raise ShortInputException(len(content), 5)
    else:
        print('符合要求')
except ShortInputException as e:
    print(e)
'''
請輸入內容:ASD
您輸入的長度為:3,最短長度為:5
'''

注意: 

以上程序中,關于代碼# Exception.__init__(self)的說明

這一行代碼,可以調用也可以不調用,建議調用,因為__init__方法往往是用來對創(chuàng)建完的對象進行初始化工作,如果在子類中重寫了父類的__init__方法,即意味著父類中的很多初始化工作沒有做,這樣就不保證程序的穩(wěn)定了,所以在以后的開發(fā)中,如果重寫了父類的__init__方法,最好是先調用父類的這個方法,然后再添加自己的功能。

python主動拋出異常、自定義異常

1. 拋出異常

1.1 raise

raise 指定要拋出的異常。

對應參數必須是異常的實例或是異常的類(Exception)

例:

def fun(x): ?
? ? if x > 5: ?
? ? ? ? raise Exception(f"x 不能大于 5,x={x}")
"""
Traceback (most recent call last):
? File "<stdin>", line 1, in <module>
? File "<stdin>", line 3, in fun
Exception: x 不能大于 5,x=7
"""

1.2 assert

assert condition
# condition 為真,不做任何事情
# condition 為假,拋出AssertionError異常
# 等價于:
if not condition: ?
? ? raise AssertionError()
# ****************************************
assert condition, "錯誤原因"
==>?
if not condition:
?? ?raise AssertionError("錯誤原因")

2. 自定義異常

自定義類異常必須繼承 Exception

自定義異常:

class MySQLError(Exception):
? ? def __init__(self, error_info):
? ? ? ? super(MySQLError, self).__init__(error_info)
? ? ? ? self.error_info = error_info
? ? def __str__(self):
? ? ? ? return self.error_inf

使用自定義異常:

try:
? ? raise MySQLError('異常')
except MySQLError as e:
? ? print(e)

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 刪除pycharm鼠標右鍵快捷鍵打開項目的操作

    刪除pycharm鼠標右鍵快捷鍵打開項目的操作

    這篇文章主要介紹了刪除pycharm鼠標右鍵快捷鍵打開項目的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Python:一行代碼,導入Python所有庫

    Python:一行代碼,導入Python所有庫

    在本篇內容里小編給大家分享如何用一行代碼,導入Python所有庫,有需要的朋友們可以學習下,希望能夠給你帶來幫助
    2021-10-10
  • python 實現多維數組(array)排序

    python 實現多維數組(array)排序

    今天小編就為大家分享一篇python 實現多維數組(array)排序,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python 字典套字典或列表的示例

    python 字典套字典或列表的示例

    今天小編就為大家分享一篇python 字典套字典或列表的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python在游戲中的熱更新實現

    Python在游戲中的熱更新實現

    本文主要介紹了Python在游戲中的熱更新實現,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • python機器學習Github已達8.9Kstars模型解釋器LIME

    python機器學習Github已達8.9Kstars模型解釋器LIME

    這篇文章主要為大家介紹了Github已達8.9Kstars的最佳模型解釋器LIME的使用示例及功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • 通過python順序修改文件名字的方法

    通過python順序修改文件名字的方法

    今天小編就為大家分享一篇通過python順序修改文件名字的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python解決%matplotlib inline標紅底報錯問題

    Python解決%matplotlib inline標紅底報錯問題

    在使用非Jupyter環(huán)境如Spyder或PyCharm時,%matplotlib inline會因為是Jupyter特有的魔法命令而導致報錯,這條命令是用于Jupyter Notebook或Jupyter Qt Console中,主要作用是將matplotlib的圖表直接嵌入到Notebook中顯示
    2024-09-09
  • python中hasattr()、getattr()、setattr()函數的使用

    python中hasattr()、getattr()、setattr()函數的使用

    這篇文章主要介紹了python中hasattr()、getattr()、setattr()函數的使用方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • python3.9不支持pillow包解決辦法

    python3.9不支持pillow包解決辦法

    本文主要介紹了python3.9不支持pillow包解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-06-06

最新評論