LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 837|回复: 4

异常类的抛出.

[复制链接]
发表于 2003-8-13 23:12:16 | 显示全部楼层 |阅读模式
class Problem
{
  ......
};

void super () throw (Problem &)
{
  .....
  if (oh_no)
         throw Problem( );         //  如何理解?
}

throw Problem( )
相当于:
  Problem oops( );
  throw oops;
那oops ();又是干什么呢?  是创建一个未命名的对象吗?未命名又如何引用呢?

另问:把异常设计成类.那是不是要把每类异常都要设计成一个类呀?那不是有很多的异常类?
发表于 2003-8-13 23:39:36 | 显示全部楼层
对的,就是一个创建一个未命名对象,至于如何引用,这就是函数之间的参数传递,通过复制进行的
 楼主| 发表于 2003-8-14 23:33:29 | 显示全部楼层
另问:把异常设计成类.那是不是要把每类异常都要设计成一个类呀?那不是有很多的异常类?
发表于 2003-8-15 16:59:44 | 显示全部楼层
根据需要而定。C++中有标准异常,自己定义的异常可以从标准异常派生。
发表于 2003-8-15 22:36:53 | 显示全部楼层
Problem oops( );可不能拆成Problem, oops()
这是定义了一个实例oops并做缺省构造
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表