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

Python實現(xiàn)自定義異常實例

 更新時間:2022年01月27日 14:26:58   作者:繁華似錦Fighting  
大家好,本篇文章主要講的是Python實現(xiàn)自定義異常實例,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下

前言

在Python中,拋出自定義異常的語法為 raise 異常類對象。也就是說可以使用 raise 語句來拋出異常, raise語句后需要跟一個異常類或異常類的實例。

1、使用 raise 語句來拋出異常

需求:定義一個求和方法

(1)拋出異常類

def add(a, b):
    # 如果a和b中有負(fù)數(shù),就向調(diào)用處拋出異常
    if a < 0 or b < 0:
        # raise用于向外部拋出異常,后邊可以跟一個異常類,或異常類的實例
        # 此時返回一個異常類
        raise Exception
    # 正常計算并返回結(jié)果
    r = a + b
    return r


print(add(-123, 456))

結(jié)果如下圖:可以看到?jīng)]有異常描述信息

(2)拋出異常類的實例

def add(a, b):
    # 如果a和b中有負(fù)數(shù),就向調(diào)用處拋出異常
    if a < 0 or b < 0:
        # raise用于向外部拋出異常,后邊可以跟一個異常類,或異常類的實例
        # 此時返回一個異常類的實例
        raise Exception("傳入的參數(shù)不能有負(fù)數(shù)。")
    # 正常計算并返回結(jié)果
    r = a + b
    return r


print(add(-123, 456))

結(jié)果如下圖:

2、自定義異常類

自定義異常類,只需要創(chuàng)建一個類繼承Exception即可。

(1)簡單實現(xiàn)

# 自定義異常類,只需要創(chuàng)建一個類繼承Exception即可
# 自定義異常類完全不用寫任何內(nèi)容
class MyError(Exception):
    pass

def add(a, b):
    # 如果a和b中有負(fù)數(shù),就向調(diào)用處拋出異常
    if a < 0 or b < 0:
        # raise用于向外部拋出異常,后邊可以跟一個異常類,或異常類的實例
        # 此時返回一個異常類的實例
        raise MyError("傳入的參數(shù)不能有負(fù)數(shù)。自定義的,這樣也行!")
    # 正常計算并返回結(jié)果
    r = a + b
    return r


print(add(-123, 456))

結(jié)果如下圖:

(2)完整實現(xiàn)

需求:密碼長度不足,則報異常(用戶輸入密碼,如果輸入的長度不足3位,則報錯,即拋出自定義異常,并捕獲該異常)。

# 自定義異常類,繼承Exception
class ShortInputError(Exception):
    def __init__(self, length, min_len):
        # 用戶輸入的密碼長度
        self.length = length
        # 系統(tǒng)要求的最少長度
        self.min_len = min_len

    # 設(shè)置拋出異常的描述信息
    def __str__(self):
        return f'你輸入的長度是{self.length}, 不能少于{self.min_len}個字符'


def main():
    # 2. 拋出異常: 嘗試執(zhí)行:用戶輸入密碼,如果長度小于3,拋出異常
    try:
        con = input('請輸入密碼:')
        if len(con) < 3:
            # 拋出異常類創(chuàng)建的對象
            raise ShortInputError(len(con), 3)
    # 3. 捕獲該異常
    except Exception as result:
        print(result)
    else:
        print('密碼已經(jīng)輸入完成')


main()

總結(jié)

到此這篇關(guān)于Python實現(xiàn)自定義異常實例的文章就介紹到這了,更多相關(guān)Python自定義異常內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python機(jī)器學(xué)習(xí)庫常用匯總

    python機(jī)器學(xué)習(xí)庫常用匯總

    這篇文章主要為大家匯總了常用python機(jī)器學(xué)習(xí)庫,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • python-docx如何刪除所有bookmarks

    python-docx如何刪除所有bookmarks

    在Python-docx庫中,雖然沒有直接刪除書簽的功能,但可以通過操作XML元素,遍歷文檔結(jié)構(gòu)并刪除指定元素來實現(xiàn)刪除所有書簽的目的,首先要明白書簽在XML文件中的位置,然后利用Python-docx提供的element元素遍歷并刪除特定的書簽元素
    2024-09-09
  • 使用Python制作獲取網(wǎng)站目錄的圖形化程序

    使用Python制作獲取網(wǎng)站目錄的圖形化程序

    這篇文章主要介紹了使用Python制作獲取網(wǎng)站目錄的圖形化程序,GUI制作使用到了PyQt,需要的朋友可以參考下
    2015-05-05
  • python腳本框架webpy模板賦值實現(xiàn)

    python腳本框架webpy模板賦值實現(xiàn)

    這篇文章主要為大家介紹了python腳本框架webpy模板賦值實現(xiàn)示例過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2021-11-11
  • 利用Python+PyQt5實現(xiàn)簡易瀏覽器的實戰(zhàn)記錄

    利用Python+PyQt5實現(xiàn)簡易瀏覽器的實戰(zhàn)記錄

    這篇文章主要給大家介紹了關(guān)于如何利用Python+PyQt5實現(xiàn)簡易瀏覽器的相關(guān)資料,Qt 的主要優(yōu)勢是可以開發(fā)跨平臺的圖形界面程序,基于 Qt 的應(yīng)用能夠借助于各平臺的原生性在不同類的設(shè)備上運行,而無須修改任何代碼庫,需要的朋友可以參考下
    2021-07-07
  • python實現(xiàn)發(fā)送郵件

    python實現(xiàn)發(fā)送郵件

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)發(fā)送郵件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • python基礎(chǔ)之文件操作

    python基礎(chǔ)之文件操作

    這篇文章主要介紹了python文件操作,實例分析了Python中返回一個返回值與多個返回值的方法,需要的朋友可以參考下
    2021-10-10
  • 對IPython交互模式下的退出方法詳解

    對IPython交互模式下的退出方法詳解

    今天小編就為大家分享一篇對IPython交互模式下的退出方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python 數(shù)字轉(zhuǎn)化成列表詳情

    Python 數(shù)字轉(zhuǎn)化成列表詳情

    這篇文章主要介紹了Python 數(shù)字轉(zhuǎn)化成列表,主要以代碼實現(xiàn)了將輸入的數(shù)字轉(zhuǎn)化成一個列表,輸入數(shù)字中的每一位按照從左到右的順序成為列表中的一項。,需要的朋友可以參考下
    2021-11-11
  • python GUI庫圖形界面開發(fā)之PyQt5信號與槽基礎(chǔ)使用方法與實例

    python GUI庫圖形界面開發(fā)之PyQt5信號與槽基礎(chǔ)使用方法與實例

    這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5信號與槽基礎(chǔ)使用方法與實例,需要的朋友可以參考下
    2020-03-03

最新評論

岗巴县| 合川市| 溧水县| 海安县| 依安县| 东辽县| 扎兰屯市| 中超| 体育| 湖州市| 东阳市| 武宁县| 时尚| 泰州市| 驻马店市| 彭泽县| 平罗县| 墨脱县| 连山| 金乡县| 青铜峡市| 南郑县| 洪湖市| 衡水市| 滨州市| 沂南县| 张家界市| 大化| 行唐县| 麦盖提县| 平舆县| 通榆县| 汾阳市| 秀山| 黄骅市| 峨眉山市| 定州市| 南部县| 阳西县| 定边县| 宁津县|