主页

索引

模块索引

搜索页面

4.3.8. 介绍

我们一般会认为,语言、 编程环境以及方法论都应该尽其所能来防止错误出现。所有会导致运行时错误的东西都要被 避免,如果无法避免,那么这些东西就会被置于解决方案之外,不予考虑。 程序编写完成,会被部署到情况多变的生产环境中。如果在生产环境中出现错误,就会发布 新的程序版本。 Erlang认为,错误一定会发生,这些错误可能是开发人员, 运维人员引起的,也可能是硬件相关的。要想根除掉程序或者系统中的所有错误,是不实际 的,甚至是不可能的F 14F。如果不用千方百计地阻止错误发生,而是能够在错误发生时去处理 它们,那么我们就可以用这种方式应对几乎所有的程序未定义行为。 “Let it Crash”F 概念的来源 Erlanger 目前更喜欢“let it fail”的说法。可以处理错误,并且(在投入到生产环境之前) 清除掉系统中所有复杂的bug需要付出高昂的成本,那么程序员只需处理那些他们知道如何 处理的错误,其他的错误都交给另外一个进程(supervisor)或者虚拟机来处理。 因为大多数bug都是暂态的,因此在碰到错误时,简单地把进程重启到一个已知的稳态, 是一个非常不错的策略。

主页

索引

模块索引

搜索页面