【发布时间】:2020-07-26 16:01:17
【问题描述】:
我知道处理这两种捕获的区别,但是椭圆如何捕获 std::exception 捕获无法捕获的东西?
例如:
try
{
throw std::runtime("runtime error!");
}
catch(const std::exception& e)
{
std::cout << "Exception: " << e;
}
catch(...)
{
std::cout << "How did I get here?";
throw;
}
我已经看到了结合使用这两种方法的代码示例,但我没有看到你会同时使用这两种方法的原因。
【问题讨论】:
-
如果
try里面的代码没有抛出基于std::exception的异常呢? -
如果您来自 Java 或 C#,请注意,在 C++ 中,您基本上可以抛出任何类型或对象。你不必使用继承自
std::exception的类 -
throw 42;例如...
标签: c++ exception exception-handling