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

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

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


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;
}

你可能感兴趣的:(C/C++,c++,开发语言)