[博客翻译]为什么我更喜欢异常值而不是错误值
标题:为什么我更喜欢异常处理而非错误值
好的错误处理是程序健壮性的关键,但程序员往往对此感到头疼,因为总有那些难以预料的情况。传统的面向对象编程语言使用特殊的异常类,当遇到即时错误时,可以中断常规流程并报告错误。
让我们通过一个例子来探讨安全整数除法:在int safeDiv(int a, int b)中,如果b为零,我们会抛出Div0异常(异常在调用栈外传递)。然后,我们以为现在很安全地执行除法运算,对吧?
现代语言倾向于采用函数式风格的错误报告,将错误编码在返回类型中。比如,Go通过(res, err)...