
给自己的函数添加异常报告(Add exception reporting c++)
发布日期:2021-05-08 04:51:56
浏览次数:17
分类:精选文章
本文共 963 字,大约阅读时间需要 3 分钟。
为了便于调试代码,C++提供了异常处理机制,类似于C语言中的assert。通过throw抛出异常对象,可以在函数中检查边界条件;使用try捕捉异常,配合catch处理异常。
异常处理机制
throw关键字:
- 用于在函数中抛出异常对象,可抛出任意类型,如字符串、对象或自定义异常类。
- 示例:
double division(int a, int b) { if (b == 0) { throw "Division by zero condition!"; } return a / b;}
try、catch关键字:
- try用于包围可能抛出异常的代码块。
- catch用于捕捉异常并处理,配合try使用。
标准异常:
- C++提供了多种标准异常,如
std::exception
、std::out_of_bounds_error
等。 - 示例:
try { // 可能抛出异常的代码} catch (std::overflow_error &e) { e.what(); // 获取异常信息}
示例代码
#include#include using namespace std;double division(int a, int b) { if (b == 0) { throw "Division by zero condition!"; } return a / b;}int main() { int x = 50; int y = 0; double z = 0; try { z = division(x, y); cout << z << endl; } catch (const char* msg) { cerr << msg << endl; } return 0;}
注意事项
- 使用标准异常,确保兼容性和支持。
- 捕捉更具体的异常类型以便更有效地处理。
- 异常传播机制允许异常向外传播至最高层try。
通过合理使用异常处理,代码变得更健壯,错误处理更高效。
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月05日 01时42分57秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
androidstudio同步的时候下载jcenter的库出错解决办法
2019-03-05
ButterKnife使用问题
2019-03-05
React学习笔记(一)
2019-03-05
低代码平台快速开发小程序
2019-03-05
vue学习笔记
2019-03-05
低代码后续发展路线图
2019-03-05
MobX 学习 - 04 TodoList 案例
2019-03-05
MobX 学习 - 06 异步任务、rootStore、数据监测
2019-03-05
react: antd 中 table 排序问题
2019-03-05
FPGA学习网站推荐
2019-03-05
LeetCode:100. Same Tree相同的树(C语言)
2019-03-05
【个人网站搭建】GitHub pages+hexo框架下为next主题添加分类及标签
2019-03-05
GDB命令—jump/return/call/disassemble
2019-03-05
java基础--继承
2019-03-05
java基础--java内部类
2019-03-05
fastjson 反序列化源码解析
2019-03-05
按位与、或、非、异或总结
2019-03-05
TCP心跳检测包
2019-03-05
01 背包问题
2019-03-05