异常处理
1.简单形式的 try…except 语句
try...except
是 Python 中用于异常处理的一种语法结构。通过使用 try
和 except
块,你可以指定在执行 try
块中的代码时如果抛出异常,应该如何处理这个异常。
一般形式如下:
try:
代码块
except:
异常处理代码块
l = [1, 2, 3, 4]
for i in range(5):
print(l[i])
# 抛出异常
IndexError: list index out of range
我们可以用try...except
进而去捕获异常
l = [1, 2, 3, 4]
for i in range(5):
try:
print(l[i])
except IndexError: # 这里的 IndexError 可省略
print('捕获了IndexError异常')
# 输出
1
2
3
4
捕获了IndexError异常
2.含有多个except 的 try 语句
try:
代码块
except 异常类型1:
异常处理代码块1
except 异常类型2:
异常处理代码块2
except 异常类型3:
异常处理代码块3
......
except 异常类型n:
异常处理代码块n
else:
代码块
如果没有异常则会执行 else
代码块中的语句
3.含有 finally 的 try 语句
try:
代码块
except 异常类型1:
异常处理代码块1
except 异常类型2:
异常处理代码块2
except 异常类型3:
异常处理代码块3
......
except 异常类型n:
异常处理代码块n
finally:
代码块
上面不管有没有异常都会执行finally
代码块中的语句
4.自定义异常
- 定义一个异常类:这是通过创建一个新的类并让它继承自内置的Exception类来完成的。你可以在这个类中添加任何你需要的属性或方法。
- 抛出自定义异常:你可以在你的代码中任何需要的地方抛出这个自定义异常。这是通过使用raise语句并传入你自定义的异常类来完成的。