本文以示例形式简述了C++ try块的异常处理与调试技术,有助于读者复习并加深对try块的了解。
一、格式:
抛出异常throw 异常类型例如throw runtime_error("Data must refer to same ISBN");
?
|
1
2
3
4
5
6
7
8
9
|
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.使用预处理调试例如:
?
|
1
2
3
4
|
#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输出信息并终止程序,否则不做操作。
相关文章
猜你喜欢
- ASP.NET自助建站系统的数据库备份与恢复操作指南 2025-06-10
- 个人网站服务器域名解析设置指南:从购买到绑定全流程 2025-06-10
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 64M VPS建站:能否支持高流量网站运行? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-06-04 15
-
2025-05-25 49
-
2025-05-29 54
-
2025-05-25 67
-
2025-05-25 71
热门评论

