一、异常处理:
1、第一种:try: ...Except:...:
-
首先,执行 try 子句(在关键字 try 和关键字 except 之间的语句)。
-
如果没有异常发生,忽略 except 子句,try 子句执行后结束。
-
如果在执行 try 子句的过程中发生了异常,那么 try 子句余下的部分将被忽略
try:
# 可能报错的代码
print('报错之前的代码')
print('不报错执行1', num)
print('报错之后的代码')
except:
print('报错的时候执行1')
2、第二种:try/except 语句还有一个可选的 else 子句,如果使用这个子句,那么必须放在所有的 except 子句之后。
else 子句将在 try 子句没有发生任何异常的时候执行:
try:
# 可能报错的代码
print('不报错执行2')
except:
print('报错的时候执行2')
else:
print('不报错执行2')
3、第三种:try-finally 语句无论是否发生异常都将执行最后的代码:
try:
# 可能报错的代码
print('不报错执行3')
except:
print('报错的时候执行3')
else:
print('不报错执行3')
finally:
print('一定执行')
4、第四种:raise Exception('自定义异常')
import traceback
try:
x = 10
if x > 5:
raise Exception('x 不能大于 5。x 的值为: {}'.format(x))
# 可能会报错的代码
print('不报错执行',num)
except Exception as e:
raise Exception("自定义异常")