Python的异常处理机制
try: … except XXX(异常类型1) : …except XXX(异常类型2) :…except XXX(异常类型3) :
try:
a=int(input('请输入第一个数'))
b=int(input('请输入第二个数'))
res=a/b
print('结果为:',a/b)
except ZeroDivisionError:
print('除数不能为0哦')
except ValueError:
print('输入不合法,请输入整数')
print('程序结束')
try…except…else结构:如果try块中没有抛出异常,则执行else块,如果try中抛出异常,则执行except块
try:
a=int(input('请输入第一个数'))
b=int(input('请输入第二个数'))
res=a/b
except BaseException as e:
print('出错了')
else:
print('结果为:',a/b)
try:…except BaseException as e:…else:…finally:…:不管有没有异常,finally中的内容都要被执行。
try:
a=int(input('请输入第一个数'))
b=int(input('请输入第二个数'))
res=a/b
except BaseException as e:
print('出错了')
print(e)
else:
print('结果为:',a/b)
finally:
print('无论是否产生异常,总是被执行的代码')
print('程序结束')
异常类型 | 描述 |
---|---|
ZeroDivisionError | 除(或取模)零(所有数据类型) |
IndexError | 没有这个索引 |
KeyError | 映射中没有这个键 |
NameError | 末声明/初始化对象(没属性) |
SyntaxError | Python语法错误 |
ValueError | 传入无效的参数 |
trackback模块的使用
traceback模块打印异常信息。
import traceback
try:
print('---------')
print(1/0)
except:
traceback.print_exc()
PyCharm开发环境的调试
1、打断点
2、Debug