《Clean Code代码整洁之道》第七章 错误处理 (上)

我们需要弄清楚错误处理与整洁代码的关系。

  • 许多程序完全由错误处理所占据
  • 不是说错误处理就是全部,是几乎无法看明白代码所做的事
  • 所以 错误处理很重要,如果他搞乱了代码逻辑,就是错误的做法

解决办法:

  • 使用异常 而非返回码
  • 先写Try-Catch-Finally语句
  • 使用不可控异常
  • 给出异常发生的环境说明
  • 依调用者需要定义异常类
    异常的妙处之一:它们在程序中定义了一个范围,执行Try-Catch-Finally语句中try部分的代码时,你是在表明可随时取消执行,并在catch语句中接续。
    在某种意义上 try代码块就像是事务,catch代码块将程序维持在一种持续状态,无论try代码块中发生了什么均如此。
    可控异常的代价就是违反开放/闭合原则。如果你在方法中抛出可控异常,而catch语句在三个层级之上,你就得在catch语句和抛出异常处之间的每个方法签名中声明该异常。这意味着对软件中低层级的修改,都将波及较高层级的签名。修改好的模块必须重新构建、发布,即便它们自身所关注的任何东西都没改动过。
    你应该创建信息充分的错误信息,并和异常一起传递出去,在消息中,包括失败的操作和失败类型。

你可能感兴趣的:(《Clean Code代码整洁之道》第七章 错误处理 (上))