当前位置:   article > 正文

2020-12-17_如下try-except的基本语法格式中,当执行<语句块1>时,不管产生了何种异常,一定会执

如下try-except的基本语法格式中,当执行<语句块1>时,不管产生了何种异常,一定会执

在程序中,当Python检测到一个错误时,解释器就会指出当前流程已无法继续执行下去,这时就出现了异常。例如,使用print()函数输出一个未定义的变量值,具体如下所示:

print(name)
1
• 在Python程序中,如果出现异常,而异常对象并未被捕获或处理,程序就会用自动回溯,返回一种错误信息,并终止执行,上述语句返回的错误信息如下:

Traceback (most recent call last):
File “D:/1000phone/test.py”, line 1, in
print(name)
NameError: name ‘name’ is not defined
• 上述信息提示name变量名未定义,NameError为Python的内建异常类。异常是指因为程序出错而在正常控制流以外采取的行为,即异常是一个事件,该事件可能会在程序执行过程中发生并影响程序的正常执行。

13.1.2 异常类

• Python为了区分不同的异常,其中内置了许多异常类,常见的异常类如表所示。
在这里插入图片描述
在这里插入图片描述
• 在表中,BaseException是异常的顶级类,但用户定义的类不能直接继承这个类而是要继承Exception。Exception类是与应用相关异常的顶层基类,除了系统退出事件类(SystemExit、KeyboardInterrupt和GeneratorExit)之外,几乎所有用户定义的类都应该继承自这个类,而不是BaseException类。

13.2 捕获与处理异常

• 为了防止程序运行中遇到异常而意外终止,开发时应对可能出现的异常进行捕获并处理。Python程序使用try、except、else、finally这4个关键字来实现异常的捕获与处理。

13.2.1 try-except语句

• try-except语句可以捕获异常并进行处理,其语法格式如下:

try:

可能出现异常的语句

except 异常类名:

处理异常的语句

• 当try语句块中某条语句出现异常时,程序就不再执行try语句块中后面的语句,而是直接执行except语句块,如例所示。

1 try:
2 a = float(input(‘请输入被除数:’))
3 b = float(input(‘请输入除数:’))
4 print(a, ‘/’, b, ‘结果为’, a / b)
5 print(‘运算结束’)
6 except ZeroDivisionError:
7 print(‘除数不能为 0’)
8 print(‘程序结束’)
• 需要注意的是,上例程序只能捕捉except后面的异常类,如果发生其他类型异常,程序依然会终止。例如,运行上例程序,输入ab再回车,则程序出现错误,如图所示。
在这里插入图片描述

• 在图中,错误信息提示字符串类型不能转化为浮点型。为了保证程序正常运行,此时就需要捕

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/166998
推荐阅读
相关标签
  

闽ICP备14008679号