我正在尝试了解抛出异常,但是在打开一个不存在的文件时却遇到了这个奇怪的问题,该文件基本上根本没有错误。你们可以检查某事是否错误吗? P / s:我正在使用visualstudio 2019,我也在代码块中对其进行了测试。
class noFileException : public std::exception
{
public:
virtual const char* what() const throw() {
return "Data is not exist";
}
}error;
//main()
try
{
std::fstream file("T");
file << "dcm";
if (!file.good())
throw error;
if (file.fail()) {
std::cout << "Error" << "\n";
}
if (!file.is_open()) {
throw error;
}
}
catch (const noFileException&)
{
std::cout << error.what() << std::endl;
}