首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

软件测试笔记|Python编程基础|Python的异常处理

“动动小手,点点关注呗~”

“大部分人在二三十岁上就死去了,因为过了这个年龄,他们只是自己的影子,此后的余生则是在模仿自己中度过。”——罗曼·罗兰《约翰·克里斯朵夫》

在Python编程的世界里,异常处理是一项至关重要的技能。它不仅能让你的程序更加健壮,还能提升用户体验,确保程序在面对各种意外情况时仍能稳定运行。今天,就让我们深入探讨Python中的异常处理机制。

一、什么是异常?

在Python中,异常是指程序执行过程中发生的错误。当Python解释器遇到一个无法正常处理的情况时,就会抛出一个异常。例如,你尝试访问一个不存在的文件、进行除数为零的运算或者使用了未定义的变量,这些操作都会引发异常。如果不处理这些异常,程序就会终止并显示错误信息,这对于用户来说是非常不友好的。

二、常见的异常类型

1. SyntaxError:语法错误,这是最常见的错误类型之一。当你的代码不符合Python的语法规则时,就会抛出这个异常。例如:

# 错误示例,缺少冒号

运行结果:

2. NameError:尝试访问一个未定义的变量时会引发此异常。

运行结果:

3. ZeroDivisionError:除数为零的错误。

运行结果:

4. FileNotFoundError:当尝试打开一个不存在的文件时会抛出此异常。

运行结果:

三、异常处理语句:try - except

Python使用try - except语句来处理异常。基本语法如下:

在try代码块中,放置可能会引发异常的代码。如果在执行try块中的代码时发生了异常,Python会立即跳转到对应的except块中执行异常处理代码。如果没有发生异常,except块中的代码将被跳过。

下面是一个简单的示例,处理ZeroDivisionError异常:

运行结果:

在这个例子中,由于1 / 0会引发ZeroDivisionError异常,程序会跳转到except块中,打印出异常信息。

你还可以处理多种类型的异常,使用多个except块:

运行结果:

在这个例子中,int('abc')会先引发ValueError异常,程序会进入对应的except块处理该异常,后面的1 / 0不会被执行。

四、使用finally块

finally块中的代码无论是否发生异常都会被执行。它通常用于释放资源,比如关闭文件、关闭数据库连接等。语法如下:

示例:

在这个例子中,无论try块中是否发生异常,finally块中的f.close()都会被执行,确保文件被关闭。

五、抛出异常:raise

除了捕获异常,你还可以手动抛出异常。使用raise语句可以抛出一个指定的异常。

运行结果:

在check_age函数中,如果传入的年龄为负数,就会抛出ValueError异常。

六、自定义异常

在实际应用中,你可能需要定义自己的异常类型。自定义异常通常继承自内置的Exception类。

运行结果:

通过自定义异常,你可以更好地组织和处理特定业务逻辑中的错误情况。

掌握Python的异常处理机制是成为一名优秀Python开发者的必经之路。通过合理地使用try - except - finally语句、抛出异常以及自定义异常,你可以让你的程序更加健壮、可靠,提高程序的稳定性和用户体验。希望本文的内容能帮助你深入理解Python异常处理,在编程之路上更上一层楼。

“动动小手,点点关注呗~”🫰

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Okxaz-r0SHFjEiBH0M_nvQ9g0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券