Ine*_*nce -3 c++ error-handling exception-handling try-catch c++11
我的编译器给出了以下代码的错误:
#include <iostream>
#include <stdexcept>
using namespace std;
void test()
{
throw runtime_error("Error");
}
int main()
{
try
{
test();
}
for (int i = 0; i < 10; i++)
{
}
catch (exception& e)
{
cout << e.what();
}
}
Run Code Online (Sandbox Code Playgroud)
它说"错误:预期'捕获'之前'('令牌',它指的是for循环初始化中的'(').
在try块之后我是否必须立即编写catch块?我认为如果在try块中抛出一个错误,程序将冒出来,直到它找到一个合适的catch块.为什么这不适用于此?
是的,它确实.是的,我的意思是.
要明确一点,因为有些人似乎对以上简短的答案感到困惑:
一个 catch块确实需要一个try块之后要立即写入.
还有一个次要问题:
我认为如果在try块中抛出一个错误,程序将冒出来,直到它找到一个合适的catch块.为什么这不适用于此?
因为你只能在try块之后立即写一个catch块.其他任何事情都是形成不良的计划.
| 归档时间: |
|
| 查看次数: |
538 次 |
| 最近记录: |