Bibliothèque d'exceptions C ++ - bad_exception

La description

C'est une exception levée par un gestionnaire inattendu.

Déclaration

Voici la déclaration pour std :: bad_exception.

class bad_exception;

C ++ 11

class bad_exception;

Paramètres

aucun

Valeur de retour

aucun

Des exceptions

No-throw guarantee - aucun membre ne lance d'exceptions.

Exemple

Dans l'exemple ci-dessous pour 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'exemple de sortie devrait être comme ceci -

Caught std::bad_exception