Programar em C++/Exceções

Origem: Wikilivros, livros abertos por um mundo aberto.
Saltar para a navegação Saltar para a pesquisa
Recycle001.svg Esta página precisa ser reciclada (discuta).
Ao melhorá-la, você estará ajudando o Wikilivros.


Uma exception é um erro que ocorre em tempo de execução. Podemos lidar com estes erros e criar rotinas para muitos deles, o que nos permite automatizar muitos erros que antes teriam de ser emendados à mão.

Standard Exceptions[editar | editar código-fonte]

A biblioteca de C++ contém exceptions já definidas para erros comuns. Elas são divididas em dois setores: Erros lógicos e Erros de tempo de execução.

Aqui vemos um exemplo de código usando exceptions de erros lógicos:

 #include <iostream>
 #include <stdexcept> // std::invalid_argument
 #include <bitset>
 #include <string>

 int main (void)
 {
   try
   {
     // O construtor de bitset joga uma invalid_argument se inicializado com uma
     // string contendo caracteres diferentes de 0 e 1
     std::bitset<5> mybitset (std::string("01234"));
   }
   catch ( const std::invalid_argument& ia )
   {
     std::cerr << "Invalid argument: " << ia.what() << '\n';
   }
   return 0;
 }