Libreria delle eccezioni C ++ - bad_exception

Descrizione

Questa è un'eccezione generata da un gestore imprevisto.

Dichiarazione

Di seguito è riportata la dichiarazione per std :: bad_exception.

class bad_exception;

C ++ 11

class bad_exception;

Parametri

nessuna

Valore di ritorno

nessuna

Eccezioni

No-throw guarantee - nessun membro genera eccezioni.

Esempio

Nell'esempio seguente per 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';
   }
}

L'output di esempio dovrebbe essere così:

Caught std::bad_exception