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

Python實現自定義異常實例

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

前言

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

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

需求:定義一個求和方法

(1)拋出異常類

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


print(add(-123, 456))

結果如下圖:可以看到沒有異常描述信息

(2)拋出異常類的實例

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


print(add(-123, 456))

結果如下圖:

2、自定義異常類

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

(1)簡單實現

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

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


print(add(-123, 456))

結果如下圖:

(2)完整實現

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

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

    # 設置拋出異常的描述信息
    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('密碼已經輸入完成')


main()

總結

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

相關文章

  • Python 調用 C++ 傳遞numpy 數據詳情

    Python 調用 C++ 傳遞numpy 數據詳情

    這篇文章主要介紹了Python 調用 C++ 傳遞numpy 數據詳情,文章主要分為兩部分,c++代碼和python代碼,代碼分享詳細,需要的小伙伴可以參考一下,希望對你有所幫助
    2022-03-03
  • python實現圖像降噪

    python實現圖像降噪

    這篇文章主要為大家詳細介紹了python實現圖像降噪,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • python 調用win32pai 操作cmd的方法

    python 調用win32pai 操作cmd的方法

    下面小編就為大家?guī)硪黄猵ython 調用win32pai 操作cmd的方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • python實現文本進度條 程序進度條 加載進度條 單行刷新功能

    python實現文本進度條 程序進度條 加載進度條 單行刷新功能

    這篇文章主要介紹了python實現文本進度條 程序進度條 加載進度條 單行刷新功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • PyQt中實現自定義工具提示ToolTip的方法詳解

    PyQt中實現自定義工具提示ToolTip的方法詳解

    這篇文章主要為大家詳細介紹了PyQt中實現自定義工具提示ToolTip的方法詳解,文中的示例代碼講解詳細,對我們學習有一定幫助,需要的可以參考一下
    2022-05-05
  • python數據清洗中的時間格式化實現

    python數據清洗中的時間格式化實現

    本文主要介紹了python數據清洗中的時間格式化實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • Django實現文件上傳下載

    Django實現文件上傳下載

    這篇文章主要為大家詳細介紹了Django實現文件上傳下載,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • pycharm遠程連接服務器調試tensorflow無法加載問題

    pycharm遠程連接服務器調試tensorflow無法加載問題

    最近打算在win系統(tǒng)下使用pycharm開發(fā)程序,并遠程連接服務器調試程序,其中在import tensorflow時報錯,本文就來介紹一下如何解決,感興趣的可以了解一下
    2021-06-06
  • python為QT程序添加圖標的方法詳解

    python為QT程序添加圖標的方法詳解

    這篇文章主要介紹了python為QT程序添加圖標的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Python http接口自動化測試框架實現方法示例

    Python http接口自動化測試框架實現方法示例

    這篇文章主要介紹了Python http接口自動化測試框架實現方法,結合實例形式分析了Python針對http接口測試的相關實現與使用操作技巧,需要的朋友可以參考下
    2018-12-12

最新評論