I am trying out try, catch, throw statements in C++ for file handling, and I have written a dummy code to catch all errors. My question is in order to check if I have got these right, I need an error to occur. Now I can easily check infile.fail()
by simply not creating a file of the required name in the directory. But how will I be able to check the same for outfile.fail()
(outfile
is ofstream
where as infile
is ifstream
). In which case, will the value for outfile.fail()
be true?
sample code [from comments on unapersson's answer, simplified to make issue clearer -zack]:
#include <fstream>
using std::ofstream;
int main()
{
ofstream outfile;
outfile.open("test.txt");
if (outfile.fail())
// do something......
else
// do something else.....
return 0;
}
See Question&Answers more detail:os