大家看看这个程序编译能运行不?
- 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++的做法.