在编程过程中合理的使用异常可以使得程序正常的执行。有直接抛出异常的形式,也能通过捕获异常加入异常时的业务逻辑处理。
创建自定义异常类案例
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