Exception beim Öffnen einer nicht vorhandenen Datei mit C ++ @ nicht abgefang
Ich habe von hier aus eine MWE betrieben:http: //www.cplusplus.com/reference/ios/ios/exceptions Auf meinem Rechner wird die Ausnahme nicht abgefangen. Hier ist mein Code
#include <iostream>
#include <fstream>,
int main()
{
std::ifstream file;
file.exceptions( std::ifstream::failbit | std::ifstream::badbit );
try
{
file.open("IDoNotExist.txt");
}
catch(const std::ifstream::failure& e)
{
std::cout << "Bad luck!" << std::endl;
}
}
Usinggcc 6.2.1
unter Arch-Linux bekomme ich:
terminate wird aufgerufen, nachdem eine Instanz von 'std :: ios_base :: failure' ausgelöst wurde
what (): basic_ios :: clear
Auf dem oben angegebenen Link wird jedoch erwähnt, dass der Code auch die Ausnahme im Zusammenhang mit dem Öffnen der Datei abfangen sollte. Was schief gelaufen ist