使用BOOST异常
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | // BoostEx.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <boost/exception/all.hpp> #include <boost/exception/get_error_info.hpp> #include <boost/current_function.hpp> #include <string> #include <iostream> using namespace std; using namespace boost; struct my_execption : virtual std::exception, virtual boost::exception { }; typedef boost::error_info< struct tag_err_no, int > err_no; typedef boost::error_info< struct tag_err_str, wstring> err_str; #define MY_THROW(exepction_str) throw my_execption()<<err_str(exepction_str)\ <<errinfo_api_function(__FILE__)\ <<errinfo_errno(__LINE__); int _tmain( int argc, _TCHAR* argv[]) { wcout.imbue(locale( "chs" )); //cout<<BOOST_CURRENT_FUNCTION<<endl; try { MY_THROW(_T( "异常!" )) } catch (boost::exception& e) { wcout<<_T( "异常:" )<<*get_error_info<err_str>(e)<<endl; cout<< "文件:" <<*get_error_info<errinfo_api_function>(e)<<endl; cout<< "行号:" <<*get_error_info<errinfo_errno>(e)<<endl; } return 0; } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· SQL Server 内存占用高分析
· DeepSeek V3 两周使用总结
· 回顾我的软件开发经历(1)
· C#使用yield关键字提升迭代性能与效率
· 低成本高可用方案!Linux系统下SQL Server数据库镜像配置全流程详解
· 4. 使用sql查询excel内容