python的入门13

1、自定义异常

日常开发中,当系统提供的异常类型不能满足开发的需求时,就需要自己创建一个新的异常类来拥有自己的异常。

自定义异常类继承自 Exception 类,可以直接继承,或者间接继承

class MyError(Exception):
    def __init__(self, value):
        self.value = value

    def __str__(self):
        return repr(self.value) 

2、如何手动抛出异常:raise

系统的自带的异常只要触发会自动抛出,比如NameError,但用户自定义的异常需要用户自己决定什么时候抛出。

raise 唯一的一个参数指定了要被抛出的异常。它必须是一个异常的实例或者是异常的类(也就是 Exception 的子类)。大多数的异常的名字都以"Error"结尾,所以实际命名时尽量跟标准的异常命名一样。
正常情况下出现错误:
在这里插入图片描述

这个错误的程序运行的结果为:

在这里插入图片描述
而用了raise语句之后:

在这里插入图片描述

输出结果为:

在这里插入图片描述

1.用户自定义异常类型

在这里插入图片描述

2.手动抛出用户自定义类型异常

在这里插入图片描述

输入张楠,输出结果:

在这里插入图片描述

输入不是张楠,输出结果为:

在这里插入图片描述

3.捕捉用户手动抛出的异常

在这里插入图片描述
输入不是张楠的输出结果为:

在这里插入图片描述

4.总结

class TooLongExceptin(Exception):
    "this is user's Exception for check the length of name "
    def __init__(self,name):
        self.name = name
    def __str__(self):
        print("你的名字不是张楠,名字错误")
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值