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

本文以示例形式简述了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输出信息并终止程序,否则不做操作。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c++
, 异常处理
, 调试技术
try块
try finally 调试中断、串口调试助手使用实例、windbg 调试实例、keil4实例调试、三菱plc程序调试实例,以便于您获取更多的相关知识。

时间: 2024-12-22 03:53:06

C++的try块与异常处理及调试技术实例解析_C 语言的相关文章

c++异常处理机制示例及详细讲解_C 语言

这两天我写了一个测试c++异常处理机制的例子,感觉有很好的示范作用,在此贴出来,给c++异常处理的初学者入门.本文后附有c++异常的知识普及,有兴趣者也可以看看. 下面的代码直接贴到你的console工程中,可以运行调试看看效果,并分析c++的异常机制. 复制代码 代码如下: #include "stdafx.h" #include<stdlib.h> #include<crtdbg.h> #include <iostream> // 内存泄露检测机

C++软件添加dump调试打印日志(推荐)_C 语言

C++软件添加dump调试打印日志(推荐) #include <DbgHelp.h> #pragma comment(lib, "dbghelp.lib") LONG WINAPI TopLevelExceptionFilter(struct _EXCEPTION_POINTERS *pExceptionInfo) { //cout << "Enter TopLevelExceptionFilter Function" << en

动态网页PHP程序员的优化调试技术和技巧

本文介绍调试PHP应用程序的各种方法,包括在Apache and PHP中打开错误报告,以及通过在一个简单的PHP脚本中放置策略性的print语句,找到更困难的bug的源头.还会介绍用于Eclipse的PHPEclipse插件,这是一个灵活的开发环境,具有实时语法解析能力,还会介绍PHPEclipse的DBG调试器扩展. 简介 有许多 PHP 调试技术可以在编码的时候节约大量时间.一个有效却很基本的调试技术就是打开错误报告.另一个略微高级一点的技术包括使用 print 语句,通过显示在屏幕上实际

PHP 程序员的调试技术小结_php技巧

本文介绍调试 PHP 应用程序的各种方法,包括在 Apache and PHP 中打开错误报告,以及通过在一个简单的 PHP 脚本中放置策略性的 print 语句,找到更困难的 bug 的源头.还会介绍用于 Eclipse 的 PHPEclipse 插件,这是一个灵活的开发环境,具有实时语法解析能力,还会介绍 PHPEclipse 的 DBG 调试器扩展. 简介 有许多 PHP 调试技术可以在编码的时候节约大量时间.一个有效却很基本的调试技术就是打开错误报告.另一个略微高级一点的技术包括使用 p

【转】Linux Shell脚本调试技术

本文转载自:https://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/ Shell脚本调试技术 本文全面系统地介绍了shell脚本调试技术,包括使用echo, tee, trap等命令输出关键信息,跟踪变量的值,在脚本中植入调试钩子,使用"-n"选项进行shell脚本的语法检查, 使用"-x"选项实现shell脚本逐条语句的跟踪,巧妙地利用shell的内置变量增强"-x"选项的输出信

PHP程序员的优化调试技术和技巧

程序|程序员|技巧|优化     本文介绍调试 PHP 应用程序的各种方法,包括在 Apache and PHP 中打开错误报告,以及通过在一个简单的 PHP 脚本中放置策略性的 print 语句,找到更困难的 bug 的源头.还会介绍用于 Eclipse 的 PHPEclipse 插件,这是一个灵活的开发环境,具有实时语法解析能力,还会介绍 PHPEclipse 的 DBG 调试器扩展. 简介 有许多 PHP 调试技术可以在编码的时候节约大量时间.一个有效却很基本的调试技术就是打开错误报告.另

PHP程序员的调试技术

简介 有许多 PHP 调试技术可以在编码的时候节约大量时间.一个有效却很基本的调试技术就是打开错误报告.另一个略微高级一点的技术包括使用 print 语句,通过显示在屏幕上实际出现的内容,有助于精确地找出更难发现的 bug.PHPEclipse 是一个 Eclipse 插件,能够强调常见的语法错误,可以与调试器结合起来用于设置断点. 设置 要学习本文描述的概念,需要 PHP.Web 服务器和 Eclipse.调试器扩展支持的 PHP 版本是 V5.0.3. 我们需要一个 Web 服务器来解析用

Shell脚本的调试技术

编程中必不可少的一点就是调试,Shell脚本以其强大的功能令人向往,当然,它的强大之处不只是体现在 语言的实现功能上,更强大的是它的调试功能,下面,我将以实例讲解Shell脚本的调试技术. 下面是 我所用到的实例: #!/bin/bash LINE="Tests run: 196, Failures: 1, Errors: 1" error=`echo $LINE|cut -d':' -f4` echo $error ERROR=0 ERROR=$(($error+$ERROR)) e

Asp.net 3.5控件和组件开发技术系列—服务器控件开发中的调试技术

本章内容 2.1 预置代码示例 2.2 调试页面服务端代码 2.3 服务器控件的调试 2.4 JavaScript 脚本调试方法 2.5 Ajax Library 对JavaScript调试支持 2.1 预置代码示例 熟悉ASP.NET 开发的读者朋友可能对于服务器控件的调试技术更容易上手,不过如果您刚刚接 触ASP.NET 也没关系,本章会从最基本的调试开始讲解. 在调试之前,要先建立一个调试控件的项目环境.关于如何建立环境在这里就不讲了,第1 章 已经讲得非常详细了. 首先在Web 控件项目