python 自定义异常/raise关键字抛出异常,有直接抛出异常的形式


在编程过程中合理的使用异常可以使得程序正常的执行。有直接抛出异常的形式,也能通过捕获异常加入异常时的业务逻辑处理。

【阅读全文】

创建自定义异常类案例

class MyException(Exception):
    def __init__(self, msg):
        '''
        :param msg: 异常信息
        '''
        self.msg = msg

使用raise关键字抛出异常案例
raise关键字抛出异常主要是为了在特定的条件。

def throw_exception(num=0):
    '''
    测试异常抛出函数
    :param num: 数值
    :return:
    '''
    if num == 10:
        raise MyException('num不能等于10')
    else:
        print('当前num=',num)

throw_exception(10)

在调用throw_exception函数后,传入值为10时则抛出下面的异常。

#     raise MyException('num不能等于10')
# __main__.MyException: num不能等于10

使用try...except捕获异常案例

使用try关键字捕获异常,可以在异常处理时加入自己的业务处理逻辑不至于使异常直接抛出。

def catch_exception(num=0):
    '''
    测试异常处理函数
    :param num: 数值
    :return:
    '''
    try:
        throw_exception(num)
    except MyException as e:
        print('进入异常处理:当前num=',num)

catch_exception(10)

调用catch_exception函数进行异常处理后,不会将异常抛出而是进行正常的业务处理,按照我们预期的计划进行处理。

# 进入异常处理:当前num= 10

【往期精彩】

python 本地音乐播放器制作过程(附完整源码)

自动化工具:PyAutoGUI的鼠标与键盘控制,解放双手的利器!

来自程序猿的生日蛋糕你见过吗?

懒人python操作,代码中永远只需要导入一个库...

自动化办公:手机号码提取器,使用正则表达式轻松提取文本文件中的手机号码...

欢迎关注作者公众号【Python 集中营】,专注于后端编程,每天更新技术干货,不定时分享各类资料!

评论关闭