python异常处理之用raise主动抛出异常,并自定义异常类

在python的编程开发当中,我们可以用raise关键字来主动抛出异常,而且可以抛出自定义的异常类。其中,自定义的异常类的创建跟一般的类的创建没什么两样,只是要继承BaseException类。


自定义异常类,并用raise抛出该异常

接下来,我们通过一个实例来介绍异常类的自定义,及raise的用法。

class Wrong(BaseException):
    def __init__(self, message):
        self.message = message
    
    def __str__(self):
        return self.message
    

def count():
    try:
        print('1+1=3')
        raise Wrong('错了,1+1应该等于2')
    except Wrong as err_w:
        print(err_w)


count()

代码输出:
1+1=3
错了,1+1应该等于2
 

代码解析

如上代码,我们创建了一个Wrong的异常类型,继承了BaseException异常类,并在try...except...语句中用raise主动抛出异常,并用我们自定义的Wrong异常类型来捕捉。当然,我们也可以用try...except...else...finally...等异常处理模式来捕捉我们自定义的异常类。

__str__(),这个有必要具体介绍一下。在python当中,__xxx__的方法被称为魔法方法,当程序中使用print函数来打印对象的时候,只要定义了__str__(self)方法,那么就会输出该方法中return的返回值,通常情况下,__str__方法的返回值是一个字符串,用于描述当前对象。


自定义异常类的内容就先介绍到这里,下一章我们将罗列出一个python内置的异常类型表,可供查询之用。


全栈后端 / python教程 :


























Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.