9:自定义异常类_raise抛出异常

程序开发中,有时候我们也需要自己定义异常类。自定义异常类一般都是运行时异常,通常继承 Exception 或其子类即可。命名一般以 Error、Exception 为后缀。

自定义异常由 raise 语句主动抛出。

【示例】自定义异常类和 raise 语句

#coding=utf-8
#测试自定义异常类

class AgeError(Exception): #继承 Exception
    def __init__(self,errorInfo):
        Exception.__init__(self)
        self.errorInfo = errorInfo
    def __str__(self):
        return str(self.errorInfo)+",年龄错误!应该在 1-150之间"

############测试代码################
if __name__ == "__main__": #如果为 True,则模块是作为独立文件运行,可以执行测试代码
    age = int(input("输入一个年龄:"))
    if age<1 or age>150:
        raise AgeError(age)
    else:
        print("正常的年龄:",age)

运行结果:

执行结果如下:
输入一个年龄:200
Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/mypro_exception/my10.py", line 16, in <module>
raise AgeError(age)
__main__.AgeError: 200,年龄错误!应该在1-150 之间

 

posted @ 2022-11-21 18:42  竹蜻蜓vYv  阅读(79)  评论(0编辑  收藏  举报