读书人

大家看看这个程序编译能运行不?解决思

发布时间: 2012-02-06 15:52:44 作者: rapoo

大家看看这个程序编译能运行不?

C/C++ code
#include  <iostream> using namespace std; int main()try{     int a = 10;    cout<<a<<endl;    return 0;}catch(...){    cout<<"error"<<endl;}




这是《c++ Primer》第三版454页的例子,书中还罗列了这种方式的种种好处。

[解决办法]
Are you sure this is the original code ?
[解决办法]
试了一下,VC7下还真可以。

可能这样写的好处是可以捕捉到一个函数中的所有无法预期的Exception,例如new失败等,增强程序的健壮性。
[解决办法]
vs2005可以 vc6不可以

不觉得这种方法有多高明
[解决办法]
高手果然是高手啊,这个我还没见过呢
[解决办法]
在.net中可以编译运行
[解决办法]
最好"#include <iostream>"改为"#include <iostream.h>"稳定些。
[解决办法]
有什么不好的么,结束的地方说明了"函数try块对类构造函数尤其有用".构造函数不能返回什么东西,当然用这种方法来处理异常.
至于楼上"#include <iostream >"改为"#include <iostream.h >"稳定些"的说法更是可笑.
[解决办法]
支持七楼

反对六楼.
#include<iostream.h>是C和老式C++的做法.

读书人网 >C++

热点推荐