为了账号安全,请及时绑定邮箱和手机立即绑定

【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下载
官方微信

举报

0/150
提交
取消