// throws
} catch (const ios::failure& e) {
cerr << "failure caught: ";
if ( e.code() == std::make_error_condition(std::io_errc::stream) )
cerr << "stream error condition\n";
else
cerr << "some other error condition\n";
} catch(exception& ex) {
cerr << ex.what();
}
failure не ловится, в отличие от exception. Почему?
Параметры:
mingw32-g++.exe -Wall -fexceptions -g -Wunreachable-code -Weffc++ -pedantic -Wfatal-errors -Wextra -Wall -std=c++1z
GCC какой версии? Вообще должен ловиться, и на моем mingw ловится.
Обсуждают сегодня