代码:
#include <iostream>
#include <stdexcept>
using namespace std;
void f3();
int main()
{
void f1();
try
{
f1();
}
catch(char)
{
cout<<"main"<<endl;
}
return 0;
}
void f1()
{
catch(char)
{
cout<<"f1"<<endl;
}
try
{
f3();
}
catch(double)
{
cout<<"f1"<<endl;
}
}
void f3()
{
char a;
try
{
throw a;
}
catch(int)
{
cout<<"int"<<endl;
}
}
代码意图:
测试throw和catch查错的原理,想看一下如果catch在try前面的时候系统可不可以查到错误
运行结果:
直接编译,结果如下图。
改错:
将f1()函数中catch放到try下面后,运行结果为输出f1,表明在f1函数中找到匹配的错误。
学习小结:
问题很小,在找出来时考虑有没有必要发出来
但是最后还是发出来了,不积硅步无以至千里吧。
加油咯,博客发的太少了,才有这么多的顾虑...