python异常使用注意事项

发布时间:2021-12-08 10:06:21 人气:131 作者:多测师

python异常使用注意事项

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

  1、不要太依赖异常机制

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

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

  i = 0

  while True:

  print (buf [i])

  i += 1except:

  pass#例2:使用流程控制避免下标访问异常i = 0while i < len(buf ):

  print(buf [i])

  i += 1

python异常使用注意事项

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

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

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

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

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

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

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

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

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

  以上内容为大家介绍了python异常使用注意事项,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线