Descrição
Esta é uma exceção lançada por um manipulador inesperado.
Declaração
A seguir está a declaração para std :: bad_exception.
class bad_exception;
C ++ 11
class bad_exception;
Parâmetros
Nenhum
Valor de retorno
Nenhum
Exceções
No-throw guarantee - nenhum membro lança exceções.
Exemplo
No exemplo abaixo para std :: bad_exception.
#include <iostream>
#include <exception>
#include <stdexcept>
void my_unexp() { throw; }
void test() throw(std::bad_exception) {
throw std::runtime_error("test error");
}
int main() {
std::set_unexpected(my_unexp);
try {
test();
} catch(const std::bad_exception& e) {
std::cerr << "Caught " << e.what() << '\n';
}
}
O exemplo de saída deve ser assim -
Caught std::bad_exception