Biblioteca de exceção C ++ - bad_exception

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