python基础--异常

even / 2023-07-09 / 原文

1、python的异常

异常的入门案例

try:
    print(num)
except Exception as e:
    # 打印异常信息
    print(str(e))
    
    # 打印异常的堆载信息
    import traceback
    print(traceback.format_exc())

打印错误的堆载信息,需要引入traceback的依赖

异常中的else

try:
    # 可能引发异常的代码
    result = 10 / 2
except ZeroDivisionError:
    print("除数不能为零")
else:
    # 没有发生异常时执行的代码
    print("结果:", result)

注意:通常else是表示没有异常的时候执行的代码,但这块代码的内容也可放在 result = 10 /2 下面去执行

异常中的 finally

try:
    result = 10 / 2
    print(result)
except Exception as e:
    print(str(e))
finally:
    print('this is finally')

finally 表示所有执行完成后会被执行,不管是否发生错误

 异常的对外传递

try:
    try:
        print(num)
    except Exception as e:
        print('this is inner err')
        # 通过raise关键字把异常向上抛
        raise e
except Exception as o:
    print(o)
finally:
    print('this is finally')