Erlang(或Joe Armstrong的建议)不要使用防御性编程并让进程崩溃(而不是用不必要的防护来污染您的代码以试图跟踪残骸)现在对我来说意义非凡,我想知道为什么我浪费了多年来在错误处理方面付出了巨大的努力!
我想知道的是-这种方法仅适用于Erlang等平台吗? Erlang的VM具有对流程监控树的简单本地支持,并且重启流程确实非常快。我是否应该将开发工作(而不是在Erlang世界中)花费在重建监督树上,而不是让自己陷入顶级异常处理程序,错误代码,空结果等的困境。
您是否认为这种方法上的改变会在(例如).NET或Java空间中很好地工作?
最佳答案
It's applicable everywhere。无论您是否以“崩溃”模式编写软件,它都将崩溃,例如,当硬件出现故障时。 “让它崩溃”适用于您需要承受现实的任何地方。 Quoth James Hamilton:
但是,这并不完全意味着“从不使用防护装置”。但是不要害怕崩溃!