最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

python使用raise拋出自定義異常

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

接下來(lái)讓我們看一下具體的實(shí)現(xiàn)

練習(xí)1:判斷輸入字符串的長(zhǎng)度,如果小于指定的長(zhǎng)度就報(bào)錯(cuò)

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

注意: 

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

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

python主動(dòng)拋出異常、自定義異常

1. 拋出異常

1.1 raise

raise 指定要拋出的異常。

對(duì)應(yīng)參數(shù)必須是異常的實(shí)例或是異常的類(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異常
# 等價(jià)于:
if not condition: ?
? ? raise AssertionError()
# ****************************************
assert condition, "錯(cuò)誤原因"
==>?
if not condition:
?? ?raise AssertionError("錯(cuò)誤原因")

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)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 對(duì)python中使用requests模塊參數(shù)編碼的不同處理方法

    對(duì)python中使用requests模塊參數(shù)編碼的不同處理方法

    今天小編就為大家分享一篇對(duì)python中使用requests模塊參數(shù)編碼的不同處理方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • python 將numpy維度不同的數(shù)組相加相乘操作

    python 將numpy維度不同的數(shù)組相加相乘操作

    這篇文章主要介紹了python 將numpy維度不同的數(shù)組相加相乘操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 使用Python創(chuàng)建一個(gè)視頻管理器并實(shí)現(xiàn)視頻截圖功能

    使用Python創(chuàng)建一個(gè)視頻管理器并實(shí)現(xiàn)視頻截圖功能

    在這篇博客中,我將向大家展示如何使用 wxPython 創(chuàng)建一個(gè)簡(jiǎn)單的圖形用戶界面 (GUI) 應(yīng)用程序,該應(yīng)用程序可以管理視頻文件列表、播放視頻,并生成視頻截圖,我們將逐步實(shí)現(xiàn)這些功能,并確保代碼易于理解和擴(kuò)展,感興趣的小伙伴跟著小編一起來(lái)看看吧
    2024-08-08
  • Python 轉(zhuǎn)移文件至云對(duì)象存儲(chǔ)的方法

    Python 轉(zhuǎn)移文件至云對(duì)象存儲(chǔ)的方法

    對(duì)象存儲(chǔ)(Cloud Object Storage,COS)是一種存儲(chǔ)海量文件的分布式存儲(chǔ)服務(wù),具有高擴(kuò)展性、低成本、可靠安全等優(yōu)點(diǎn)。這篇文章主要介紹了Python 轉(zhuǎn)移文件至云對(duì)象存儲(chǔ),需要的朋友可以參考下
    2021-02-02
  • Python使用自定義裝飾器的示例詳解

    Python使用自定義裝飾器的示例詳解

    在Python自動(dòng)化測(cè)試中,可以使用自定義的裝飾器來(lái)給測(cè)試方法傳遞測(cè)試數(shù)據(jù)。本文將通過(guò)簡(jiǎn)單的示例和大家介紹下具體的使用方法,希望對(duì)大家有所幫助
    2022-11-11
  • 淺談Python2、Python3相對(duì)路徑、絕對(duì)路徑導(dǎo)入方法

    淺談Python2、Python3相對(duì)路徑、絕對(duì)路徑導(dǎo)入方法

    今天小編就為大家分享一篇淺談Python2、Python3相對(duì)路徑、絕對(duì)路徑導(dǎo)入方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 詳解Python如何檢查一個(gè)數(shù)字是否為科技數(shù)

    詳解Python如何檢查一個(gè)數(shù)字是否為科技數(shù)

    科技數(shù)(Tech?Number)是一種在數(shù)學(xué)上具有一定特殊性質(zhì)的數(shù)字,這篇文章主要為大家詳細(xì)介紹了如何使用Python檢查一個(gè)數(shù)字是否為科技數(shù),感興趣的可以了解下
    2024-03-03
  • python Django模板的使用方法(圖文)

    python Django模板的使用方法(圖文)

    模板通常用于產(chǎn)生HTML,但是Django的模板也能產(chǎn)生任何基于文本格式的文檔。
    2013-11-11
  • Python 虛擬環(huán)境venv詳解

    Python 虛擬環(huán)境venv詳解

    Python 虛擬環(huán)境主要是為不同 Python 項(xiàng)目創(chuàng)建一個(gè)隔離的環(huán)境,每個(gè)項(xiàng)目都可以擁有獨(dú)立的依賴包環(huán)境,而項(xiàng)目間的依賴包互不影響,對(duì)Python 虛擬環(huán)境venv相關(guān)知識(shí)感興趣的朋友一起看看吧
    2021-09-09
  • python切片作為占位符使用實(shí)例講解

    python切片作為占位符使用實(shí)例講解

    在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于python切片作為占位符使用實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-02-02

最新評(píng)論

申扎县| 大城县| 仁寿县| 红河县| 沾化县| 鹿泉市| 曲阳县| 新田县| 汶川县| 齐齐哈尔市| 武乡县| 报价| 广饶县| 湄潭县| 镇原县| 绥阳县| 澄江县| 富宁县| 蕉岭县| 景谷| 康平县| 镶黄旗| 清新县| 南涧| 大关县| 永胜县| 梁山县| 榆社县| 永川市| 鄂托克旗| 桂平市| 延川县| 麻江县| 永靖县| 蓬莱市| 蒲城县| 宜兴市| 西藏| 虹口区| 麻栗坡县| 新龙县|