引发异常及其消息
Throwing exception and it's messages
我是使用CLion
的新手,并尝试编写一个简单的程序来了解它的工作原理。我在Windows 8 + cygwin
上,程序是:
int main()
{
throw std::exception();
}
我在控制台上得到了输出:
C:....bin.exe
Process finished with exit code 0
关于程序的消息在哪里被中止或其他什么?什么都没有,我应该如何检测我的程序是否真的被抛出异常中止了?
之所以这样做,是因为您不使用try and catch
指令,并且会发生类似于堆栈取消编译的情况。在一个函数中,如果不使用catch
指令,它将向下堆栈,直到到达主函数;如果没有catch
,程序将终止。如果您的函数在没有catch
的情况下抛出异常,它会立即终止并返回到调用方函数。如果调用方函数是主函数,并且不使用catch
,则程序终止。它进入堆栈,如果函数链中没有catch
,它将终止程序。
相关文章:
- 从函数(不抛出函数)返回异常以进行消息格式化?
- C++MSVC-显示未捕获的异常消息
- 奇怪的消息 (_Base_bitset::_M_do_to_ulong) 从溢出异常处理程序中打印出来
- 从处理程序捕获时如何获取 Ada 异常消息C++?
- 核心消息传递中未处理的异常.dll在程序关闭期间
- C++未显示自定义异常消息
- 自定义异常中的消息已损坏
- 异常消息为空
- 捕获加速异常并提取其消息
- 运行时异常消息而不扩展 std::exception
- 异常是否应具有标志/消息,或者每个错误应具有异常类型
- 获取谷歌测试异常抛出消息
- 如何抛出带有变量消息的 std::异常
- 未决定是使用异常还是报告错误消息
- 从ASSERT_THROW获取异常消息
- 加密++异常调用消息结束
- 使用 GoogleTest 验证异常消息
- 如果引发异常,则使外部C++函数返回一条消息
- 如何与调试器通信或更改异常消息
- 系统消息未处理的异常