【Python】程序的分支结构之异常处理

异常处理

num=eval(input("请输入一个整数:"))
print(num**2)

这是一个让用户输入一个整数,对其输入整数进行平方运算并输出的运算

如果当用户没有输入整数时,会产生异常,怎么处理?

 Exited with error status 1
请输入一个整数:Traceback (most recent call last):
  File "e58c31cd143382c0b3b85e1158b3b47f", line 1, in <module>
    num=eval(input("请输入一个整数:"))
  File "<string>", line 1, in <module>
NameError: name 'abc' is not defined

第三行的line1 表示了异常发生的代码行数
最后一行 NameError 表示异常类型,说明命名出现了错误
name 'abc' is not defined表示异常内容提示

异常处理的基本使用
try<语句块1>
except<语句块2>

我们把一块要执行的语句放在try语句对应的语句块1中,如果它出现了异常,我们执行except对应的语句块2,如果它不出现任何异常,那就不执行语句块2,直接执行语句块1之后执行后续语句。

try<语句块1>
except <异常类型><语句块2>

为了进一步区分不同的异常类型,可以在except中增加一个异常类型标记,表示只有在这种异常类型发生时,才会执行语块2。

try:
	num = eval(input("请输入一个整数:"))
	print(num**2)
except: #NameError:
	print("输入不是整数")
异常处理的高级使用
try<语句块1>
except<语句块2>
else<语句块3>
finally<语句块4>

无论前面是否发生异常,finally对应的语句块4一定会执行,else对应的语句块3在不发生异常时执行。可以理解为,首先执行语句块1,如果不发生异常去执行语句块3,如果发生异常去执行语句块2,无论发不发生异常,最后都要执行语句块4。

发布了20 篇原创文章 · 获赞 38 · 访问量 911

猜你喜欢

转载自blog.csdn.net/weixin_45506775/article/details/104274401