你好,我是尹会生。
这一章,我给你介绍了 Python 异常产生的原因及处理办法。异常是程序运行在某个不受控制的场景时产生的执行结果。这些场景中,有一些是可以被程序员提前预料到的,像数据输入、网络通信超时等场景,都属于这种预期的错误场景。
对这些预期的错误场景,我们可以在编写程序的主要逻辑时,把异常处理程序编写好,就可以让程序在出现这些预期场景时,告知用户该怎么办,而不是报告程序内部预知的错误提示信息。这也是编写异常处理程序最大的价值。
但是使用异常处理也要适度,不然异常处理很容易导致程序主要逻辑不清晰,异常提示太宽泛等问题。那么这一讲,我就来为你总结三条异常处理的最佳实践,希望能帮你快速掌握异常处理程序的编写。
程序输入引发的异常,往往是可以修复的。在这种情况下,开发者一般可以采取两种修复策略:一种是进行数据类型转换,让程序在错误的假设下继续运行;另一种是明确告知程序的调用者,输入的位置出了问题,你需要停下来检查抛出异常的位置。我的建议是采取后面一种策略。
因为输入数据类型错误,可能并非导致程序出错的唯一原因。因为程序中的函数、对象等复杂数据类型之间,也会传递数据,而在函数返回等过程中,很有可能因为数据类型的副作用,导致程序出现意料之外的执行结果。因此,停下来报错,要比让程序“磕磕绊绊”地执行下来,更能保证数据的正确性。