请指教throw、try、catch
#include<iostream>using namespace std;
int f(int);
int main()
{
try {cout<<"4!="<<f(4)<<endl;
cout<<"-2!="<<f(-2)<<endl;
}
catch(int n)
{cout<<"n="<<n<<"不能计算n!"<<endl;
cout<<"程序执行结束."<<endl;
}
return 0;
}
int f(int n)
{
if(n<0)
throw n;
int s=1;
for(int i=1;i<=n;i++)
s*=i;
return s;
}
执行结果如下:
4!=24
n=-2不能计算n!
程序执行结束.
为什么
{
try {cout<<"4!="<<f(4)<<endl;
cout<<"-2!="<<f(-2)<<endl;
}
中cout<<"-2!="<<f(-2)<<endl;
没执行输出“-2=”啊!