软件测试抛出异常,异常处理 - 清菡软件测试的个人空间 - OSCHINA - 中文开源技术交流社区...

本文介绍了Python中的异常处理机制,包括try-except语句的两种形式,用于捕获并处理可能出现的错误,如文件不存在或用户输入错误。强调了在处理异常时提供用户友好的错误提示的重要性,同时讲解了finally语句的使用,确保文件在任何情况下都能正确关闭。还提到了raise语句用于主动触发异常。通过这些方法,可以提升程序的健壮性和用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用 python 提供的异常机制,在错误出现的时候,程序以内部的方式自我消化解决掉。

一、什么是异常?

1、举个异常的例子:例如用户输入文件名,没有加 .txt,就会报错。输入正确的文件名。

937c3fa65f21cb14418eca2095cc461d.png

ec90db524bddf268ce9b1d63cd431618.png

2、python 通常会引发的异常有哪些?

8b13e33d61b485ae846e7e8276f4b98f.png

b39ca232b619d4794353b06126eb7c02.png

af7a9aa0f089dd6fe98d2fb28d9005c5.png

4c3a6ec4afb3100da138ad961d8531cc.png

二、如何检测和处理异常?

1、两种形式的 try 语句,方式一:

210c808115c9e2699c43e383004ca5c3.png

2、没有文件,抛出异常。

14338179e0dcb43b31e7a2ae808aa8b7.png

3、这样修改后,用户体验就会好很多。

32c44f0d817971b71ee330bbc4d0f5b1.png

6bec5dd0d2f777b343061de8b5ece49c.png

4、没有 ValueError 的中文提示,所以红色字体报错。

179a37a20f7b7d4f981be34a1ad70921.png

5、希望在 try 语句块里面一旦出现任何异常,可以给一个用户看的懂的提醒(不推荐)。

f83a361c62bec4f87253e7a361c75db2.png

因为会隐藏程序员未处理的未准备好的异常错误。当用户输入快捷键 “ctrl +c”,用户想的是用中断指令强制程序中断,它会解释为一个异常,也会被这里捕获,使得这个程序不会被强制关闭。

6、try 语句检测范围一旦出现异常,剩下的语句将不会被执行。

475c36063987d919f2a2271391557d82.png

7、同时对多个异常进行统一的处理。

666be794851c5925c1feb54d50a5e674.png

无论捕获 OSError 还是 TypeError,都会出现这个提示。

8、方式二:

811def2777784f597397fb191739423e.png

如果异常发生在成功打开文件后,python 跳到 except 语句执行,并没有执行关闭文件的命令(用户写入文件的数据就可能没有保存起来),因此我们需要确保无论如何(就算出了异常退出)文件也要被关闭。我们可以使用 finally 语句来实现,如果 try 语句块中没有出现任何运行时错误,会跳过 except 语句块执行 finally 语句块的内容。如果出现异常,则会先执行 except  语句块的内容再接着执行 finally 语句块的内容。总之,finally 语句块里的内容就是确保无论如何都将被执行的内容。

9、raise 语句

自己引发一个异常。

d57d4160018830b0387ff23ac299cb34.png

欢迎扫码关注!52a2ed38a97ed66f791dd7d570430710.png

1453f020fe002aed68452d70afab3677.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值