分析输入输出、用户需求、数据建模、设计流程、编写代码……经过长时间的努力,终于,数据可以在我们设计的流程中流动了。但是,代码并不总是能够正确运行,得到正确结果,甚至有时候会发生崩溃。这是为什么呢?这是因为电脑资源有限,其它程序在用某一电脑资源时,我们的程序就不能同时使用这一资源。比如:做除法运算时,除数为0出错;抓取网页失败,没有网页数据进入后续代码从而出错;程序正在写入文件时,又有代码流程同时要读这个文件,就会发生死锁读不到数据;数据的内存地址已改变,而有代码继续读这一内存地址从而出错;打印机正在打印,程序又要立即打印从而出错……等等。
为了更好的分配内存、硬盘、网络、外部设备等电脑资源,让各类程序有条不紊地运行,我们就要引入异常处理机制。异常处理机制就是在写代码时,如果需要用电脑资源,但又用不了,程序就会抛出异常,并忽略此次错误继续后续代码的运行。实现这一功能的关键字有try、except、finally、raise四个。下面简要说说这四个关键字的用法:我们把可能发生错误的语句放在try模块里,用except来处理异常。except可以处理一个专门的异常,也可以处理一组圆括号中的异常,如果except后没有指定异常,则默认处理所有的异常。每一个try,都必须至少有一个except。如图:
try ....except...else 语句,当没有异常发生时,else中的语句将会被执行。如图:
try ...except …finally语句,无论异常是否发生,在程序结束前,finally中的语句都会被执行。如图:
当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。如图:
try、except、finally、raise这四个关键字好好地使用,就像错误检测员一样,让我们调试时能明察秋毫,及时发现程序中的错误。这四个关键字的其它用法,请大家查看相关资料学习,这里篇幅有限,不再详述。善于发现程序中的异常情况,合理使用异常处理机制,确保程序能够正常有序运行,鲁棒性强,这是对每个编程者的基本要求。如果您觉得这篇文章有用,请点赞、收藏、评论和转发,让更多人看到;如果您喜欢我的文章,请搜索"咿呀学文"并关注,我会分享更多的文章给您。