1、使用场景
在不确定百分之百能成功且又不想让程序因为异常终止的情况下可选择使用try/except语句来捕获及处理异常
2、语法
try:
尝试执行,如果没有异常,执行完成
如果有异常,执行以下代码,捕获并处理异常
except 异常类A as a: # a 是一个变量,记录异常类的信息,可直接打印
如果发生异常A,执行尝试处理异常的操作
except 异常类B as b: # 可以定义一个或多个except 语句
如果发生异常B,执行尝试处理异常的操作
except (异常类c, 异常类d) as h:
如果多个发生异常,执行尝试处理多个异常的操作
else:
如果没有发生异常,执行的操作
finally:
无论如何都要执行的操作
3、自定义异常类和主动抛出异常
class InputError(Exception): # 创建一个新的exception类来抛出自己的异常。
# 异常应该继承自 Exception 类,包括直接继承,或者间接继承
def __init__(self, errorinfor):
self.error = errorinfor
def __str__(self):
return self.error
def score():
grade = int(input('你的成绩是:'))
if grade <= 0 or grade >= 150:
raise InputError('考试分数只能在0-150')
try:
score()
except InputError as e:
print(e)