Programar em C++/Exceções
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
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;
}