Exercícios Resolvidos de Tratamento de Exceções

Ver Teoria

Enunciado

Crie uma classe chamada O p e r a t i o n E x c e p t i o n para tratar erros de operações matemáticas. Faça uma função chamada R a i z Q u a d r a d a que recebe um número real e retorna a sua raiz. Em caso de erro, essa função deve utilizar a classe chamada para tratar o erro.

Passo 1

Eai, tudo beleza?

Nessa questão, nós vamos fazer uma classe para tratar erros de operações matemáticas e vamos fazer uma função que, em caso de erro, instancie um objeto dessa classe para tratar esse erro.

Vamos iniciar o nosso código incluindo as bibliotecas necessárias, inclusive a biblioteca c m a t h para operações matemáticas. Além disso, vamos criar a nossa classe com o parâmetro m s g , um construtor e um método i m p r i m i r M e n s a g e m .

Passo 2

Vamos definir o construtor para essa classe. Nele, vamos passar o valor enviado como parâmetro para o atributo mensagem.

Agora, vamos definir o método i m p r i m i r M e n s a g e m . Nele, nós vamos pegar o valor que está armazenado na variável m s g e vamos imprimi-lo na tela depois de " O p e r a t i o n   E x c e p t i o n :   " para indicarmos que o que está acontecendo é uma exceção tratada pela classe O p e r a t i o n E x c e p t i o n .

Passo 3

Agora, fora da classe, vamos criar a função R a i z Q u a d r a d a . Ela deve receber um valor do tipo d o u b l e e retornar a sua raiz quadrada usando a função s q r t da biblioteca c m a t h . Antes dela retornar um valor, vamos checar se o número passado é negativo, pois, nesse caso, vamos ter um erro ao tentar calcular uma raiz quadrada de um número negativo. Caso esse valor seja negativo, vamos usar o t h r o w para lançar um erro do tipo O p e r a t i o n E x c e p t i o n e, dentro do construtor, vamos enviar a mensagem para especificar o tipo de erro.

Resposta