c++ - 在 C++ 中,try 块中的语句是否在 throw 语句之后执行(如果引发异常)?
问题描述
请告诉我在 throw 语句执行后是否有任何内容。
例如,在下面的代码中,如果我的 IDE 不打算执行,为什么会引发 '10//0' 的错误?
void check_exception()
{
char a = 'A';
char b = 'B';
try
{
if (a == 'A')
throw "Hello";
cout << "\nLet's check if this line is printed or not";
cout << "\nB is : " << b << " A has been thrown : " << 10/0;
}
catch (const char* check)
{
cout << "\n\nReceived exception " << check;
}
}
解决方案
之后的代码throw
如果被调用则永远不应该被执行,唯一的例外是如果有一个适当的catch
,那么它将被执行。C# 也是如此。无论如何,您不应该throw
直接在街区内。try/catch
推荐阅读
- javacard - 如何自定义新安装的补充安全域 (SSD)?
- arrays - 在 C 中打印指针数组
- python - pyopengl 中的静态文本
- javascript - Lit-html 以 DOM 节点为目标
- sql - Snowflake - 通过自定义名称引用列组
- java - 连接池 - 如何找到 CallableStatement 使用连接池(特别是 HikariCP)?SQL Profiler 或 PerfMon 计数器?
- javascript - 单击多边形时,绘制多个多边形需要在 infoWindow.setContent 中显示建筑物名称
- html-table - td 间距与 tr 上的完整边框
- computercraft - ComputerCraft 获取血魔法祭坛内的物品 ID
- html - 使用 .htaccess 从 URL 中删除 .html 时出错?