python异常处理_python学习日记——异常处理

异常处理

在程序运行过程中,总会遇到各种各样的问题和错误。有些错误是我们编写代码时自己造成的,比如语法错误、调用错误,甚至逻辑错误。还有一些错误,则是不可预料的错误,但是完全有可能发生的,比如文件不存在、磁盘空间不足、网络堵塞、系统错误等等。这些导致程序在运行过程中出现异常中断和退出的错误,我们统称为异常。大多数的异常都不会被程序处理,而是以错误信息的形式展现出来。

异常有很多种类型,Python内置了几十种常见的异常,就在builtins模块内,无需特别导入,直接就可使用。需要注意的是,所有的异常都是异常类,首字母是大写的!

aa33463f4714dcff73851b4108252960.png

为了保证程序的正常运行,提高程序健壮性和可用性。我们应当尽量考虑全面,将可能出现的异常进行处理,而不是留在那里,任由其发生。

Python内置了一套try...except...finally(else)...的异常处理机制,来帮助我们进行异常处理。其基本语法是:

3ad6de24f209b5036f052972424a05f4.png

try…except…语句处理异常的工作机制如下:

首先,执行try子句(在关键字try和关键字except之间的语句)

如果没有异常发生,忽略except子句,try子句执行后结束。

如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常的类型和 except 之后的名称相符,那么对应的except子句将被执行。

0c9f292b080782e15c4510eb2a6c5031.png

如果程序发生的异常不在你的捕获列表中,那么依然会抛出别的异常。

b6d0543c9d3f4a8326ce48270ee72e4c.png

如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中

a9603ca0917c0f916432fa48b4599824.png

文件读写异常处理

fa737ccb75bb6f4f9c99e8014567bb44.png

可能包含多个except子句,分别来处理不同的特定的异常

c8f765e64c44e7ec90803f3278473afe.png

通用异常:Exception

在Python的异常中,有一个通用异常:Exception,它可以捕获任意异常。

537a8def35feac8ec331716e3ffa5aa1.png

主动抛出异常:raise

很多时候,我们需要主动抛出一个异常。Python内置了一个关键字raise,可以主动触发异常。

b2b300192e5232379636ec361fda1eab.png

自定义异常

Python内置了很多的异常类,并且这些类都是从BaseException类派生的。

5905c3f2328bb34ad26ae31bf903fc21.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值