Manipulação de Exceções
Conceitos Básicos
Uma exceção é qualquer evento, errôneo ou não, que seja detectável por hardware ou software e que possa exigir processamento especial. O processamento especial que pode ser exigido pela detecção de uma exceção é chamada manipulação de exceção. Esse processamento é feito por uma unidade de código que recebe o nome de manipulador de exceção. Uma exceção é gerada quando ocorre seu evento associado.
Uma linguagem que não possua as capacidades de manipulação de exceções pode ainda definir, identificar, gerar e lidar com exceções definidas pelo usuário ou produzidas pelo compilador.
Alternativas
Enviar um parâmetro auxiliar ou usar o valor de retorno para indicar o status de retorno de um subprograma.Passar um rótulo (label) como parâmetro ao subprograma.Ter o manipulador como um subprograma separado passado como um parâmetro à unidade chamada.
Vantagens
O código de erro de detecção é entediante de se escrever, além de complicar o código-fonte do programa.Propagação de exceções permitem um elevado nível de reutilização de manipuladores de exceção.
Manipulação de Exceções em C++
// ************************************************
// Tratamento de Exceções
// Excecoes2.cpp
// ************************************************
#include
using std::cout; using std::cin; using std::endl; using std::string;
class TrataDivZero
{
public: TrataDivZero(int n); void Msg(); private: int NLinha;
};
TrataDivZero::TrataDivZero(int n)
{
NLinha = n;
}
void TrataDivZero::Msg()
{
cout