异常处理
一、常见bug类型
1.语法错误:SyntaxError
2.索引越界:IndexError
3.除数(或取模)为0:ZeroDivisionError
4.映射中没有这个键:KeyError
5.未声明/初始化对象:NameError
6.传入无效参数:ValueError
二、Python异常处理机制
(一)try…except语句
try:
可能会出现异常的代码
except xxx(异常类型,可以不写):
出现异常后执行的代码
(二)多个except语句
try:
可能会出现异常的代码
except Exception1:
出现异常后执行的代码
except Exception2:
出现异常后执行的代码
except BaseException:
出现异常后执行的代码
例:
try:
pass
except ZeroDivisionError:
pass
except ValueError:
pass
except BaseException as e:
print(e)
(三)try…except…else语句
若try中的代码出现异常则执行except,否则执行else。
例:多行输入
s = []
try:
while True:
temp = input()
if temp == '':
break
s.append(temp)
except:
print('异常', s)
else:
print('正常', s)
(四)try…except…else…finally语句
无论是否出现异常,都会执行finally下的语句。
三、traceback模块
打开异常信息。
import traceback
try:
print(1/0)
except:
# 自助打印异常信息
traceback.print_exc()
四、PyCharm调试
快捷键shift+F9。