1. 相关定义
异常:即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。
异常处理:try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。否则程序会终止执行。
2. 语法
try: <执行的代码> except: #不带任何异常类型--捕获所有发生的异常,但无法识别出具体的异常信息 <输出语句> except <异常类型1>: # 匹配单个异常类型;格式可以用空格或者小括号 <输出语句> except(异常类型1,异常类型2...) # 匹配多个异常类型;异常类型放在小括号里 <输出语句> except Exception as e: # 异常的父类,可以捕获所有的异常 print(e) # 打印异常信息: else: <输出语句> # 如果没有异常发生,会执行 else finally: <输出语句> # 无论try语句是否有异常,最后都要执行的代码。
3.栗子
1. except 携带参数
try:
print('try_start')
a = b
print('try_end')
except ZeroDivisionError:
print('except ---zero')
except(ArithmeticError):
print('except ---Arith')
except(NameError,ArithmeticError):
print('except ---NameError')
else:
print('else ---')
finally:
print('finally ---')
print('程序执行完成')
------------执行结果---------------
try_start
except ---NameError
finally ---
程序执行完成
2. Exception 捕获所有异常
try:
1 / 0
except Exception as e:
# 异常的父类,可以捕获所有的异常
print("0 不能被除")
print(e) # 打印异常信息: division by zero
else:
# 保护不抛出异常的代码 -- 如果没有异常发生,会执行 else
print("没有异常")
finally:
print("无论try语句是否有异常,finally 都要执行")
----------------执行结果--------------------------------
0 不能被除
division by zero
无论try语句是否有异常,finally 都要执行