异常处理和日志
文章平均质量分 97
异常处理(系统异常和业务异常)的设计旨在提高软件的可靠性、可维护性和可扩展性,主要包括,异常的捕获和处理、异常的传播、日志记录和错误报告等。
大河qu
智能制造程序员。
展开
-
异常处理/ROS2异常处理模块源码解读与浅析
本文从如下几个方面对 ROS2.0 中 rcutils 库 error_handling 错误处理模块的源码进行解读:如何定义结构化错误信息、如何格式化错误信息、如何利用线程局部存储来支持多线程错误信息记录、如何设置和获取当前线程的错误状态和信息、如何清理旧错误状态、如何保证旧错误状态不被覆盖丢失、如何定义工具宏来简化编码过程。在此源码研习的基础上,对其设计思路形成一个大致的理解。对异常处理设计的进一步讨论将在《异常处理/非业务异常处理的设计和实现思路》文中展开。原创 2024-05-12 23:05:35 · 1220 阅读 · 0 评论 -
异常处理/__LINE__ 与 __FILE__ 宏在调试和异常处理中的高级使用
本文重点讲述了_LINE_和_FILE_宏在软件调试、系统异常处理过程中举足轻重的作用,实践了如何构造以其为参数的函数,并进一步封装为宏函数,以高效灵活使用它们的方法。原创 2024-05-11 08:40:13 · 755 阅读 · 0 评论 -
语言基础 /C&C++ 可变参函数设计与实践,变参函数的实现、使用、替代方法
本文介绍了C和C++语言中,可变参函数的正确的设计、实现、使用方法,使用场景和替代方案原创 2024-05-10 13:43:14 · 885 阅读 · 1 评论 -
语言基础 /C&C++ 可变参函数设计与实践,va_ 系列实战详解(强制参数和变参数的参数类型陷阱)
本文结合可变参函数的实践,以及对 va_list、va_start 、va_arg、va_end 的源码分析,梳理了在使用 va_start 和 va_arg 过程中遇到的诸多问题或陷阱,明晰了变参函数中变参列表的解析机制和注意事项。原创 2024-05-10 13:34:53 · 1409 阅读 · 1 评论 -
异常处理/C&C++ 中 assert 断言 应用实践和注意事项
本文主要讲解了 assert 断言机制,在编程中的作用和注意事项,如 assert 的工作原理、Release程序版本下的断言生效问题、为什么要杜绝在assert内执行逻辑、如何自定义断言等。断言机制是在开发和调试阶段快速发现程序中的错误和逻辑问题的重要手段,它可以帮助开发人员在程序中插入检查点,以验证程序的正确性和健壮性,一旦发现断言失败,开发人员可以通过查看错误消息和堆栈跟踪来定位和解决问题。原创 2024-05-12 22:54:19 · 1358 阅读 · 0 评论