Clean Code 读书笔记 -- 7. 错误处理

539 阅读2分钟

错误处理是编程时必须要做的事之一。输入可能出现异常,设备可能失效。简言之,可能会出错,当错误发生时,程序员就有责任确保代码照常工作。

在 JavaScript 中,对于错误处理,我们通常使用 try catch 来捕获异常。我们在我们认为可能有异常的地方使用 catch 来捕获异常,而不是在所有地方都使用。专门捕获和应对期望遇到的异常,而不是实施全面的捕获,要容易得多。

先写 Try-Catch-Finally 语句

在某种意义上,try 代码块就像是事务。catch 代码块将程序维持在一种持续状态,无论 try 代码块中发生了什么均是如此。所以,在编写可能抛出异常的代码时,最好先写出 try-catch-finally 语句。这能帮你定义代码的用户应该期待什么,无论 try 代码块中执行的代码出什么错都一样。

在我的理解中,先写 try-catch 的目的也能够起到提醒作用,在我们想到这里会处理异常那就把模板写出来,以免遗忘。

给出异常发生的环境说明

每当抛出一个异常,都应当提供足够的环境说明,以便判断错误的来源和处所。当然如有日志系统,能够把所有异常记录下来就更好了。

不要返回和传递 null 值

要讨论错误处理,就一定要提及那些容易引发错误的做法。第一项就是返回 null。如果返回了 null 值,那么就会出现几乎每一行都在检查 null 的判断。代码会显得十分臃肿难看。

在大多数编程语言中,没有良好的方法能对付由调用者意外传入的 null,在方法中返回null值,不如抛出异常或返回特例对象。