c++ 简单实用万能异常捕获

发布时间:2023年12月29日

多层捕获异常,逐渐严格。并打印出错信息和位置:哪个文件,哪个函数,具体哪一行代码。?

#include <stdexcept>  // 包含标准异常类的头文件


try {
	int a = 2 / 0;
}
	
catch (const std::runtime_error& e) {
	// 捕获 std::runtime_error 类型的异常
	std::cerr << "Exception caught: " << e.what() << __FILE__ << __FUNCTION__ << __LINE__ << std::endl;
}
catch (const std::exception& e) {
	// 捕获其他继承自 std::exception 的异常
	std::cerr << "Some other exception caught: " << e.what() << __FILE__ << __FUNCTION__ << __LINE__ << std::endl;
}
catch (...) {
	// 捕获所有其他类型的异常
	std::cerr << "Unknown exception caught" << __FILE__ << __FUNCTION__ << __LINE__ << std::endl;
}

std::cout << " 检测结束" << std::endl;
return is_defect;
}

文章来源:https://blog.csdn.net/jizhidexiaoming/article/details/135284783
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。