是否预期在 main() 中处理 C++ 异常?

Are C++ exceptions expected to be handled in main()?

我正在用 C++ 做一个项目,我是 OOP 的新手。

我对 C++ 异常及其必须在何处处理有一些疑问。 我读到将 try/catch 块插入 main() 函数是一个很好的做法,让抛出到“深层”方法中的异常爬升到 main() 并在那里处理,在这种情况下对用户反馈进行编程。

问题是并非项目的所有错误都被视为异常,因此在 main() return 中调用的高级函数是一个 bool 值,它是第一个指标错误状态。

所以,我想知道在这种情况下不处理 main() 中的异常是否是一件好事,将 try/catch 块放入低级方法并 returning false 前者捕获到异常时在高级中的值,允许我以相同的方式处理所有错误。

这些处理程序应该去哪里没有一般规则。

但是您将程序描述为“在 main() return 布尔值中调用的高级函数”。这是一个合理的选择:任何特定的异常处理都由那些 high-level 函数处理。从main的角度来看,这些high-level函数要么成功,要么失败。因此,main 不需要在您的具体设计.

中处理异常