盾怪网教程:是一个免费提供流行杀毒软件教程、在线学习分享的学习平台!

C++中的句柄出错

时间:2023/8/3作者:未知来源:盾怪网教程人气:

[摘要]Java中的最好的一件事情是彻底的使用异常并依存异常。使用异常你可以在句柄操作错误的时候获得一个安全可靠的方法。 不幸地是,大多数的C++类库中,异常不是类的基本部分。为了让C++的异常处理和...

    Java中的最好的一件事情是彻底的使用异常并依存异常。使用异常你可以在句柄操作错误的时候获得一个安全可靠的方法。

    不幸地是,大多数的C++类库中,异常不是类的基本部分。为了让C++的异常处理和Java的水平相当,你需要在你的应用程序或者库中小心的设计异常处理。

    首先,你需要在你的设计文档中详细的定义出错处理。更多时候,出错处理是一个事后产生的想法。在你开始编写代码之前,你需要为每个函数制定异常规格说明。

    一旦你知道你的函数是什么异常,你需要定义一个层次。注意,和Java不一样的是,任何在throw语句中都可以被thrown。但是使用基本的数据类型不允许任何分层次的扑捉结构,并且,我反对使用它们。

    如果你使用一个类库,这个类库有自己的异常层次,你可以从那里开始。但是,通常你希望添加你自己的异常到层次中,如果你使用一个标准C++编译器,你可以从标准库中开始异常。

    记住你通常catch一个异常并throw另外一个,因此,异常连锁是有益的。添加异常连锁和添加一个构造函数一样简单。它将使用异常的基本类。

    混合异常和C的类型返回值错误是一个好的办法。如果可以的话,提炼C错误报告函数和你程序的其余部分的接口

   C++异常规格有一个普通的语法:

    //Declaration
    void foo() throw (IOException);
        //definition
    void foo() throw (IOException){
           //do something
    }

   注意,声明和定义必须有同样的异常规格。不幸地是,C++异常规格和Java的异常规格不一样。C++版本的进程中的std::unexpected异常代替了Java中的编译错误。同样的C++异常规格默认throw任何异常。



关键词:C++中的句柄出错




Copyright © 2012-2018 盾怪网教程(http://www.dunguai.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版