亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【2023年】第59天 自定義異常與拋出異常

標簽:
Python

一、自定义抛出异常函数 --raise

  • 将信息以报错的形式抛出
用法:
	raise 异常类型(message)
参数:
	message: 错误信息
返回值:
	无返回值

练习1:使用test2调用test,然后raise在test中实现,raise后必须要跟一个异常类型!

def test(number):
    if number == 100:
        raise ValueError('number 不可以是100')
    return number


result = test(50)
print(result)


def test2(number):
    try:
        return test(number)
    except ValueError as e:
        return e


result = test2(100)
print(result)

运行结果:
图片描述

练习2:raise后面也可以跟通用异常类型Exception

def test3(name):
    if name == 'dewei':
        raise Exception('dewei不可以被填写')
    return name


test3('dewei')

运行结果:
图片描述

二、自定义异常类

  • 继承基类——Exception
  • 在构造函数中定义错误信息

练习:定义两个异常类,并继承基础类,然后再通过书写raise异常函数,最后使用try except打印我们的异常信息

class NumberLimitError(Exception):
    def __init__(self, message):
        self.message = message

class NameLimitError(Exception):
    def __init__(self, message):
        self.message = message

def test5(name):
    if name == 'dewei':
        raise NameLimitError('dewei不可以被填写')
    return name

def test6(number):
    if number > 100:
        raise NumberLimitError('数字不可以大于100')
    return number

print('----------------------')

try:
    test5('dewei')
except NameLimitError as e:
    print(e)

try:
    test6(1001)
except NumberLimitError as e:
    print(e)

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消