CriandoBits
Identifique-se Entrar Esqueceu a senha? Esqueci minha senha

Java - Tratamento de exceções

Por Benedito Silva Júnior - publicado em 18/07/2016


Umas das utilidades proporcionadas pela orientação a objetos de Java é a facilidade em tratar possíveis erros de execução chamados de exceções.

Sempre que um método de alguma classe é passível de causar algum erro, então, podemos usar o método de tentativa - o try.

Tudo que estiver dentro do bloco try será executado até que alguma exceção seja lançada, ou seja, até que algo dê errado. Quando uma exceção é lançada, ela sempre deve ser capturada. O trabalho de captura da exceção é executado pelo bloco catch.

Um bloco try pode possuir vários blocos de catch, dependendo do número de exceções que podem ser lançadas por uma classe ou método. O bloco catch obtém o erro criando uma instância da exceção. Portanto, a sintaxe do bloco try catch é:

try { //código a ser executado } catch (ClasseDeExceção instânciaDaExceção) { //tratamento da exceção }

As exceções são, na verdade, instâncias de classes. E como qualquer classe ou objeto, podemos facilmente manipular.

Existem métodos comuns entre todas as classes de Exceções, dentre as quais podemos citar:

toString(): Converte os dados da exceção para String para visualização;

printStackTrace(): Imprime na saída de erro padrão (geralmente console) todos os frames de onde foram detectados erros. Útil para depuração no desenvolvimento, pois mostra todo o histórico do erro, além das linhas onde foram ocasionados;

getCause(): Retorna a causa da Exceção, ou null se a causa for desconhecida ou não existir;

getMessage(): Retorna uma string com o erro. É uma forma simples e elegante de mostrar a exceção causada, geralmente, utilizada como forma de apresentação ao usuário.

Finally é o trecho de código final. A função básica de finally é sempre executar seu bloco de dados mesmo que uma exceção seja lançada. É muito útil para liberar recursos do sistema quando utilizamos, por exemplo, conexões de banco de dados e abertura de buffer para leitura ou escrita de arquivos.

Finally virá após os blocos de catch.

try { //código a ser executado } catch (ClasseDeExceção instânciaDaExceção) { //tratamento da exceção } finally { // código a ser executado mesmo que uma exceção seja lançada }


 
Voltar a pagina anteriorVoltarSubir ao topo da páginaTopo