ios_base::failure
A classe failure define a classe base para os tipos de todos os objetos lançados como exceções, por funções na biblioteca de iostreams , para relatar erros detectados durante operações de buffer de fluxo.
namespace std {
class failure : public system_error {
public:
explicit failure(
const string& _Message,
const error_code& _Code = io_errc::stream
);
explicit failure(
const char* _Str,
const error_code& _Code = io_errc::stream
);
};
O valor retornado por what() é uma cópia de _Messagegerada, possivelmente com um teste com base em _Code.Se _Code não for especificado, o valor padrão é make_error_code(io_errc::stream).
// ios_base_failure.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
fstream file;
file.exceptions(ios::failbit);
try
{
file.open( "rm.txt", ios_base::in );
// Opens nonexistent file for reading
}
catch( ios_base::failure f )
{
cout << "Caught an exception: " << f.what() << endl;
}
}
Cabeçalho: <ios>
namespace: STD