异常处理
Python通过try、except等保留字提供异常处理功能
try-except语句的运用方法
num = eval(input('请输入一个整数:'))
print(num*2)
请输入一个整数:2
4
所以,问题就来了,如果不小心输错了,比如
请输入一个整数:沙雕
Traceback (most recent call last):
File "C:/Users/liujinlong/Desktop/csdn写博客.py", line 1, in <module>
num = eval(input('请输入一个整数:'))
File "<string>", line 1, in <module>
NameError: name '沙雕' is not defined
可以看出python解释器返回了异常信息,并退出了程序,并给出了为什么才出现异常,这里面给出了“沙雕”没有被定义的提示。
在编写大型程序的时候,多数情况可能会由于用户输入不符合规范而产生错误,使程序崩溃,不利于用户体验。
所以,python给出了改善这种问题的语句,即try-except语句,
try:
<语句1>
except <异常类型>:
<语句2>
具体使用
try:
num = eval(input('请输入一个整数:'))
print(num*2)
except NameError:#标注所要捕捉的异常类型
print('输入错误,请输入一个整数!')
这样用的话,再输入沙雕、NO等非数字类型的语句后,就不会产生错误,从而使代码更加健壮。
高级用法
即可以添加多个except语句,可以添加多个所要捕捉的异常类型。
except后面可以不加异常类型,即捕捉所有的异常,并返回相应语句。
如图
try:
<语句1>
except <异常类型1>:
<语句2>
except<异常类型2>:
<语句3>
......
except<异常类型N>:
<语句N+1>
except:
<异常类型N+2>
写在最后
这是python最简单的一个异常处理办法,python还有几种异常处理方法,需要慢慢发掘。