c++ - Google 如何处理 C++ 中的错误

标签 c++ exception

Google 不在其 C++ 代码库中使用异常。对于错误,他们使用一个名为 status 的类,程序员必须检查它何时从函数返回。否则程序不会编译(链接 https://www.youtube.com/watch?v=NOCElcMcFik 在 41:34)。我有几个问题:

1) 网络上是否有免费提供该类的示例?

2) 这对于“void f()”来说是可以的,它会产生副作用,你会变成一个“Status f()”。但是,如果您的函数已经返回一个值怎么办? Google 不允许传递非 const 的引用,因此您无法更改提供给您的 Status 对象。那么他们是怎么做的呢?

感谢您的帮助。

最佳答案

来自 Google style guide :

Input parameters are usually values or const references, while output and input/output parameters will be non-const pointers.

正如讲师所说,Google 使用专有的内部编译器,该编译器已被设置为在未检查 Status 时抛出错误。

关于c++ - Google 如何处理 C++ 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29923919/

相关文章:

c++ - 推导可变参数模板连接

c++ 将数据添加到包含 std::tuple 的 std::vector

javascript - 如何提取 JavaScript native 异常的所有信息?

java - 在回调中处理异常的正确方法是什么?

c - 当来自另一个线程的消息时,Winapi 控件不适本地访问内存

c++ - QQuickWindow 上下文属性?

c++ - 每次访问数组时 C 都会复制元素吗?

c++ - 在 C++ 中继承异常

c# - 我可以知道在 Visual Studio 2015 中调试期间执行的最后一条语句吗?

c++ - 为什么我收到 AddressSanitizer : heap-buffer-overflow on address 0x602000000058 error on leetcode?