考试网 >> IT认证 >> 水平 >> 软件指导 >> C++中catch(…)如何使用

C++中catch(…)如何使用

发布时间:2006-06-28 05:18     点击:
分页:[1] 2 3 4 5  下一页

        C++异常处理模型的trycatch语法,其中catch关键字是用来定义catch block的,它后面带一个参数,用来与异常对象的数据类型进行匹配。注意catch关键字只能定义一个参数,因此每个catch block只能是一种数据类型的异常对象的错误处理模块。如果要想使一个catch block能抓获多种数据类型的异常对象的话,怎么办?C++标准中定义了一种特殊的catch用法,那就是” catch(…)”。 

感性认识

  1、catch(…)到底是一个什么样的东东,先来个感性认识吧!看例子先:

int main()

{

try

{

cout << "在 try block 中, 准备抛出一个异常." << endl;

//这里抛出一个异常(其中异常对象的数据类型是int,值为1)

throw 1;

}

//catch( int& value )

//注意这里catch语句

catch( …)

{

cout << "在 catch(…) block 中, 抛出的int类型的异常对象被处理" << endl;

}

}

  2、哈哈!int类型的异常被catch(…)抓获了,再来另一个例子:

int main()

{

try

{

cout << "在 try block 中, 准备抛出一个异常." << endl;

//这里抛出一个异常(其中异常对象的数据类型是double,值为0.5)

throw 0.5;

}

//catch( double& value )

//注意这里catch语句

catch( …)

{

cout << "在 catch(…) block 中, double类型的异常对象也被处理" << endl;

}

}

  3、同样,double类型的异常对象也被catch(…)块抓获了。是的,catch(..)能匹配成功所有的数据类型的异常对象,包括C++语言提供所有的原生数据类型的异常对象,如int、double,还有char*、int*这样的指针类型,另外还有数组类型的异常对象。同时也包括所有自定义的抽象数据类型。例程如下:
分页:[1] 2 3 4 5  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有