摘自官网:https://docs.python.org/zh-cn/3.7/tutorial/errors.html
# 处理异常 try...expect...else(可选)
while True:
try:
user_input = int(input('请输入一个数字按下回车:'))
break
# except 可以使用多个异常类,元组形式传递 (RuntimeError, TypeError, NameError) as 后面跟变量名,等于将发现的异常赋值给变量err
except ValueError as err:
print("这不是一个有效的数字,请重试", err)
else:
print('只有没发现异常时,执行了else语句')
# 抛出异常 raise, 用来引发一个异常
# raise NameError('jobi')
# 用户自定义异常 需要继承 Exception类;大多数异常都定义为名称以“Error”结尾,类似于标准异常的命名。
class CustomError(Exception):
"""Base class for exceptions in this module."""
pass
# 定义清理操作: finally,必然自行的语句
try:
raise KeyboardInterrupt
finally:
print("发现了异常,并try了它")