1. 异常
执行程序的过程中,如果程序出现异常,会导致整个程序崩溃结束运行(后面的其他代码不会执行)
异常类型:IndexError、TypeError、FileNotFindError、ValueError、KeyError等等!
RIGHT Example:
print('========================')
print('abc'[10]) # 报错
# 以下代码不执行
print('++++++++++++++++++++++++')
print('------------------------')
2. 异常捕获
让程序在出现异常的时候不崩溃,可以继续运行
什么时候需要捕获异常:明明知道某段代码可能会出现异常,但是无能为力、或者这个异常是因为用户行为导致的、或者使用者导致的,但是还想在出现异常的时候程序不崩溃,就使用异常捕获
2.1 语法1
捕获所有类型的异常
try:
代码段1(需要捕获异常的代码)
except:
代码段2(捕获到异常后会执行的代码)
说明:先执行代码段1,如果执行过程中出现异常,就马上执行代码段2,然后再执行后续其他语句;如果没有出现异常,就不执行代码段2直接执行后续的其他语句
RIGHT Example:
try:
print('========================')
print('abc'[10])
print('++++++++++++++++++++++++')
except:
print('有异常出现了!')
try:
age = int(input('请输入你的年龄:'))
print(age + 10)
except:
print('有异常出现了!')
2.2 语法2
捕获特定类型的异常
try:
代码段1(需要捕获异常的代码)
except 异常类型:
代码段2(捕获到异常后会执行的代码)
RIGHT Example:
try:
age = int(input('请输入你的年龄:'))
print(age + '10')
except ValueError:
print('有异常出现了!')
2.3 语法3
同时捕获多种异常,针对不同的异常作相同处理
try:
代码段1(需要捕获异常的代码)
except (异常类型1, 异常类型2, ...):
代码段2(捕获到异常后会执行的代码)
2.4 语法4
同时捕获多种异常,针对不同的异常作不同处理
try:
代码段1(需要捕获异常的代码)
except 异常类型1:
代码段11
except 异常类型2:
代码段22
except 异常类型3:
代码段33
...