首页 新闻 会员 周边

难道C++的异常捕获不是这样的?为什么老是匹配不到呢??

0
悬赏园豆:5 [已解决问题] 解决于 2015-05-13 12:50

奇怪的C++啊,我在程序中写这段代码,合理应该输出"ok"的,怎么总是输出"why???"
难道C++的异常捕获不是这样的???
 try {
  throw new std::exception();
 }
 catch (std::exception &p) {
  std::cout << "ok";
 }
 catch (...) {
  std::cout << "why???";
 }
 
我用vs2013编译运行的。尝试将其中std::exception &p改为const std::exception &p或者std::exception p,结果也是一样的,不行就是不行,真是匪夷所思!

Patrickz10的主页 Patrickz10 | 初学一级 | 园豆:7
提问于:2015-05-13 12:41
< >
分享
最佳答案
0

不要使用 throw new std::exception();

直接用 throw std::exception(); 如:throw std::exception("xxxx");

收获园豆:5
k1988 | 菜鸟二级 |园豆:211 | 2015-05-13 12:48

是啊,是啊!!谢谢

Patrickz10 | 园豆:7 (初学一级) | 2015-05-13 12:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册