Biblioteca de exceções C ++ - construtor

Descrição

É uma exceção do construtor.

Declaração

A seguir está a declaração para std :: exception :: exception.

exception() throw();
exception (const exception& e) throw();

C ++ 11

exception() noexcept;
exception (const exception& e) noexcept;

Parâmetros

e - É um outro objeto de exceção.

Valor de retorno

Nenhum

Exceções

No-throw guarantee - nenhum membro lança exceções.

Exemplo

No exemplo abaixo para std :: exception :: exception.

#include <iostream>       
#include <exception>      

struct ooops : std::exception {
   const char* what() const noexcept {return "Exception test!\n";}
};

int main () {
   ooops e;
   std::exception* p = &e;
   try {
      throw e;       
   } catch (std::exception& ex) {
      std::cout << ex.what();
   }
   try {
      throw *p;      
   } catch (std::exception& ex) {
      std::cout << ex.what();
   }
   return 0;
}

O exemplo de saída deve ser assim -

Exception test!
std::exception