S.l.e!ep.¢%

像打了激速一样,以四倍的速度运转,开心的工作
简单、开放、平等的公司文化;尊重个性、自由与个人价值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

C++ 中的异常

Posted on 2009-10-12 20:11 S.l.e!ep.¢% 阅读(1390) 评论(2)  编辑 收藏 引用 所属分类: C++
#include  < iostream >
using   namespace  std;

void  main()
{
    
try
    {        
        
try
        {
            
//  throw int(10);    //  测试语句 1;
            
//  throw;            //  测试语句 2;
        }
        
catch ( int  i)
        {
            
throw ;
            std::cout 
<<  i  <<  std::endl;
        }
    }
    
catch ( int  i)
    {
        std::cout 
<<   " second  "   <<  i  <<  std::endl; 
    }
    
catch ()
    {
        std::cout 
<<   " unknown exception "   <<  std::endl;
    }

    
// throw;
}

(1) 当采用 语句 1 时,  second catch(int i) 可以捕获到异常, 这说明 throw; 有继续抛异常的功效
(2) 当采用 语句 2 时, catch(...)捕获不到异常,说明,如果在没异常而调用了 throw; 的情况下,异常的类型是无法预知的。。。。

Feedback

# re: C++ 中的异常[未登录]  回复  更多评论   

2009-10-13 15:50 by terry
hi,把语句 2 换成 throw ""试试了;

# re: C++ 中的异常  回复  更多评论   

2009-10-15 11:21 by 李佳
基本的C++操作 不知道有什么必要发首页去

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理