python异常使用注意事项

2023-12-12 21:23:40网络知识匿名

此注意事项参考博文:异常机制使用细则.

1、不要太依赖异常机制

python的异常机制非常方便,对于信息的传递中十分好用(这里信息的传递主要有三种,参数传递,全局变量传递,以及异常机制传递),但滥用异常机制也会带来一些负面影响。过度使用异常主要表现在两个方面:①把异常和普通错误混淆在一起,不再编写任何错误处理代码,而是以简单地引发异常来代苦所有的错误处理。②使用异常处理来代替流程控制。例子如下:

buf="hello"#例1:使用异常处理来遍历arr数组的每个元素try:

i=0

whileTrue:

print(buf[i])

i+=1except:

pass#例2:使用流程控制避免下标访问异常i=0whilei

print(buf[i])

i+=1

例1中假如循环过度便会下标访问异常,这时候把错误抛出,再进行一系列处理,显然是不可取的,因为异常机制的效率比正常的流程控制效率差,显然例2中简单的业务流程就可以避开这种错误。所以不要熟悉了异常的使用方法后,遇到这种简单逻辑,便不管三七二十一引发异常后再进行解决。对于完全己知的错误和普通的错误,应该编写处理这种错误的代码,增加程序的健壮性。只有对于外部的、不能确定和预知的运行时错误才使用异常。

2、不要在try块中引入太多的代码

在try块里放置大量的代码,这看上去很“简单”,代码框架很容易理解,但因为try块里的代码过于庞大,业务过于复杂,就会造成try块中出现异常的可能性大大增加,从而导致分析异常原因的难度也大大增加。

而且当块过于庞大时,就难免在try块后紧跟大量的except块才可以针对不同的异常提供不同的处理逻辑。在同一个try块后紧跟大量的except块则需要分析它们之间的逻辑关系,反而增加了编程复杂度。所以,可以把大块的try块分割成多个小块,然后分别捕获并处理异常。

3、不要忽略捕获到的异常

不要忽略异常!既然己捕获到异常,那么except块理应做些有用的事情,及处理并修复异常。except块整个为空,或者仅仅打印简单的异常信息都是不妥的!具体的处理方式为:

①处理异常。对异常进行合适的修复,然后绕过异常发生的地方继续运行;或者用别的数据进行计算,以代替期望的方法返回值;或者提示用户重新操作,总之,程序应该尽量修复异常,使程序能恢复运行。

②重新引发新异常。把在当前运行环境下能做的事情尽量做完,然后进行异常转译,把异常包装成当前层的异常,重新传给上层调用者。

③在合适的层处理异常。如果当前层不清楚如何处理异常,就不要在当前层使用except语句来捕获该异常,让上层调用者来负责处理该异常。

以上内容为大家介绍了python异常使用注意事项,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:瀚银百科。http:////


发表评论: