- 常见的异常处理语法格式:
else 和finally 非必须
try:
尝试执行某个操作
如果没有异常,操作完成
如果发生异常,捕捉并尝试解决异常
except 异常类a as e:
如果发生异常a,执行尝试处理异常a的操作
except 异常类b as f:
如果发生异常a,执行尝试处理异常a的操作
except (异常类c, 异常类d) as h:
如果多个发生异常,执行尝试处理多个异常的操作
else:
如果没有发生异常,执行的操作
finally:
无论如何都要执行的操作
- 主动抛出一个异常,定义异常信息内容:
raise NameError([str]) : raise 异常类型(异常参数)
通过raise 引发异常时,raise 后面的操作将不会被执行
def number():
a = int(input('Plase input a number: '))
b = int(input('Plase input a number: '))
if a < b:
raise Exception("a < b")
print("a is larger than b")
- 自定义异常类
class InputError(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)
常见异常类信息: