Python异常使用应该注意什么?
推荐
在线提问>>
在Python中,异常是程序执行过程中发生的,影响程序正常执行的事件。一般来说,当python不能正常处理一个程序时,就会出现异常。本文主要为大家介绍Python异常使用应该注意什么?希望对大家有所帮助。
1.不要过分依赖异常机制
Python的异常机制非常方便,对于信息的传递非常有用。这里主要传递三种信息:参数传递、全局变量传递、异常机制传递,但是异常机制的滥用也会带来一些负面影响。过度使用异常主要表现在两个方面:①将异常与普通错误混淆,不再编写任何错误处理代码,而是简单地抛出异常,而不是所有的错误处理;②使用异常处理代替流程控制。
2.不要在try块中引入太多代码
在try块中放置大量代码看似简单,代码框架也易于理解,但是由于try块中的代码量太大,业务过于复杂,try块中出现异常的可能性会大大增加,从而分析异常原因的难度也大大增加。
而当block过大时,难免会出现大量的except块,可以在try块后面跟上,为不同的异常提供不同的处理逻辑。如果同一个try块后面有大量的except块,就需要分析它们之间的逻辑关系,增加了编程的复杂度。因此,可以将大的try块分成多个小块,然后分别捕获和处理异常。
3.不要忽略捕获的异常
不要忽略异常。现在已经捕获了异常,except 块应该做一些有用的事情,并处理和修复异常。将except块完全留空是不合适的,或者只打印简单的异常信息,具体处理方法为:
① 处理异常。对异常进行适当的修复,然后继续绕着异常发生的地方跑;或使用其他数据代替预期的方法返回值进行计算;或提示用户重新操作。简而言之,程序应该尝试修复异常,以便程序可以恢复运行。
② 重新抛出一个新的异常。尽可能在当前运行环境下做,然后进行异常翻译,将异常包装成当前层的异常,重新传递给上层调用者。
③ 在适当的层处理异常。如果当前层不知道如何处理异常,则不要在当前层使用except语句捕获异常,让上层调用者负责处理异常。
综上所述,Python异常使用应该注意不要过分依赖异常机制、不要在try块中引入太多代码、不要忽略捕获的异常。