从 C++ 的错误处理说起

错误处理是一个非常重要的软件工程问题。对软件中出现的非致命错误的不当处理,是几乎所有的灾难性系统故障的诱因。 编程语言往往需要提供一些用于错误处理的语言设施,这些设施反过来会影响项目中错误处理的方式。不同的语言错误处理方式不同。例如 Java 采用基于 try-throw-catch 语法的异常机制,而 Go 语言则选择手动检测函数返回的 error 对象。一个令人惊讶的事实是,C++ 到现在还没有一个被广泛接受的错误处理方式。