首页 python基础教程 使用Python异常类主动抛出异常和自定义异常类
pay pay

使用Python异常类主动抛出异常和自定义异常类

日期: 2021年12月1日 20:27
栏目: python基础教程
阅读: 266
作者: python自学网

摘要: 团队合作中一些简单明快开发的时候需要给使用明快的开发人员以错误或警告提示,我们的选择有两种一种就的在需要的地方主动的抛出异常,还有一种是对一些特殊情况自定义一个异常。

团队合作中一些简单明快开发的时候需要给使用明快的开发人员以错误或警告提示,我们的选择有两种一种就的在需要的地方主动的抛出异常,还有一种是对一些特殊情况自定义一个异常。

一、主动抛出异常

def test(m, n):
    if n == 0:
        # print('除数不能为零!')
        raise ZeroDivisionError('除数不能为零!')
    else:
        print(m/n)

print('你走到这里了')

开发人员一般会使用这样的代码,好处在于抛出异常后,下面的代码不会被执行,如果使用print()后面代码依然执行。test(10, 0)  # ZeroDivisionError: 除数不能为零!如果开发人员想容错处理也可以使用下面的代码,一举两得。

try:
    test(10, 0)
except ZeroDivisionError as err:
    print('wwwww', err)

二、自定义异常类

异常都要直接或间接是继承自BaseException,这里通过Exception间接继承。

class ZeroErr(Exception):  # 异常都要直接或间接是继承自BaseException,这里通过Exception间接继承
    def __init__(self, msg):
        self.msg = msg
    pass


def test(m, n):
    if n == 0:
        # print('除数不能为零!')
        raise ZeroErr('除数不能为零!')
    else:
        print(m/n)

try:
    test(10, 0)
except ZeroErr as err:
    print('wwwww', err)

 

回顶部