C++的try块与异常处理及调试技术实例解析

 更新时间:2014年07月22日 09:55:15   投稿:shichen2014  
这篇文章主要介绍了C++的try块与异常处理及调试技术实例解析,有助于读者加深对try块调试技术的认识,需要的朋友可以参考下

本文以示例形式简述了C++ try块的异常处理与调试技术,有助于读者复习并加深对try块的了解。

一、格式:

抛出异常throw 异常类型例如throw runtime_error("Data must refer to same ISBN");

try{
program-statements
}catch(exception-specifier)
{
handler-statement;
}catch(exception-specifier)
{
handler-statement;
}

二、此处需要注意:

1.一旦catch子句执行结束,程序流程立即继续执行紧随着最后一个catch子句的语句

2.在try块中声明的变量,包括catch子句中声明的变量,不能在try外面引用

3.exception-specifier中有很多类型的异常,比如runtime_error类型是标准库异常类中的一种,注意每个标准库异常类都定义了名为what的成员函数,例如runtime_error err,err.what();返回的是字符串。

4.在try嵌套try时,抛出一个异常,首先搜索抛出异常的函数

5.如何在抛出异常后,没有try块来捕获,则自动调用terminate(在exception头文件中)终止程序的执行

三、调试技术:

1.使用预处理调试例如:

#ifndef NDEBUG
cerr<<"starting main"<<endl;
#endif
$CC -DNDEBUG main.c 

可以在main.c开头提供#define NDEBUG预处理命令

2.还有一些调试时非常有用的常量__FILE__ (当前文件的路径例如E:\main.c) __LINE__(__LINE__所在的当前行) __TIME__(当前时间) __DATE__(当前日期)

3.常见的调试技术是使用NDEBUG预处理变量以及assert(在cassert头文件中定义)预处理宏 assert(expr); 如果expr结果为false,assert输出信息并终止程序,否则不做操作。

相关文章

  • 一文搞懂Codec2解码组件

    一文搞懂Codec2解码组件

    这篇文章主要介绍了Codec2解码组件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • C语言实现中国象棋

    C语言实现中国象棋

    这篇文章主要为大家详细介绍了C语言实现中国象棋,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • C++使用VLD检测内存泄漏

    C++使用VLD检测内存泄漏

    本文主要介绍了C++使用VLD检测内存泄漏,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 用C语言实现排雷游戏

    用C语言实现排雷游戏

    大家好,本篇文章主要讲的是用C语言实现排雷游戏,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • C++调用C函数实例详解

    C++调用C函数实例详解

    这篇文章主要介绍了C++调用C函数实例详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • C++实现动态烟花效果

    C++实现动态烟花效果

    这篇文章主要介绍了利用C++实现的放烟花程序,用到了EGE图形库,文中的示例代码讲解详细,对我们学习C++有一定帮助,需要的可以参考一下
    2022-01-01
  • C++中map和set的使用及示例

    C++中map和set的使用及示例

    map和set是STL容器中的部分,本文主要介绍了C++中map和set的使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • QT实现单词检索软件的示例代码

    QT实现单词检索软件的示例代码

    本文主要介绍了QT实现单词检索软件的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 基于MFC和OpenCV实现角点检测

    基于MFC和OpenCV实现角点检测

    这篇文章主要为大家详细介绍了基于MFC和OpenCV实现角点检测,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • 如何用C写一个web服务器之GCC项目编译

    如何用C写一个web服务器之GCC项目编译

    本文主要介绍了,如何用C写一个web服务器,Linux下用GCC进行项目编译,对此感兴趣的同学,可以参考下。
    2021-05-05

最新评论