Categories
程式開發

有经验的工程师是怎样看待错误处理的?


本文最初发布于 Daniel Näslund的个人博客,经原作者授权由InfoQ中文站翻译并分享。

程序员忽略bug导致错误发生与那些代表真实错误情况的错误,这两者是有区别的。错误检查的粒度也存在争议:每个函数?每个模块?在主消息循环中跳转到对话处理程序?杀死进程并重启?

本文主要内容如下:

  • Midori错误模型
  • Erlang的方法:任其崩溃
  • 异常分类
  • 编写错误代码
  • 错误处理粒度
  • 总结

Midori错误模型

在《The Error Model》一文中,Joe Duffy描述了在Midori中设计错误处理的考虑因素。他强调,设计遵循以下原则:

可用性——面对错误,尤其是偶然发生的错误,开发人员必须很容易就能做“正确的”事情。我的一个朋友和同事将之称为掌握了“成功之核(The Pit of Success)”。模型不应该为了编写合乎习惯的代码而强加过多的繁文缛节。在理想情况下,我们要使用目标受众在认知上很熟悉的模型。

可靠性 ——错误模型(The Error Model)是整个系统可靠性的基础。毕竟,我们是在构建操作型系统,所以可靠性是最重要的。你甚至可能会指责我们过分追求极致的可靠。“构造正确性”是我们大部分编程模型开发恪守的箴言。

原文链接:【https://www.infoq.cn/article/9oeMLSj4zMCR4Xg3KFvh】。未经作者许可,禁止转载。