Exceções são erros que ocorrem em tempo de execução.
O subsistema de tratamento de exceções em Java permite tratar erros de forma estruturada e controlada.
Java oferece suporte fácil de usar e flexível para tratamento de exceções.
A principal vantagem é a automatização do código de tratamento de erros, que antes precisava ser feito manualmente.
Em linguagens mais antigas, era necessário verificar manualmente códigos de erro retornados por métodos, o que era tedioso e sujeito a erros.
O tratamento de exceções otimiza essa verificação, executando automaticamente um bloco de código (tratador de exceções) quando um erro ocorre.
Não é necessário verificar manualmente o sucesso ou falha de cada operação ou chamada de método.
Java define exceções padrão para erros comuns, como divisão por zero ou arquivo não encontrado.
O programa precisa estar preparado para tratar essas exceções.
A biblioteca de APIs Java usa exceções de forma intensiva.
Ser um bom programador Java envolve dominar o subsistema de tratamento de exceções.
Hierarquia de exceções
Em Java, todas as exceções são representadas por classes.
Todas as classes de exceções derivam da classe
Throwable
.Quando uma exceção ocorre, um objeto de uma classe de exceção é gerado.
Existem duas subclasses diretas de Throwable:
Exception
eError
.Exceções do tipo Error estão relacionadas a erros da Máquina Virtual Java (JVM) e não dos programas.
Error geralmente não é tratado pelos programas, pois foge ao controle do desenvolvedor.
Erros relacionados à atividade do programa são representados por subclasses de Exception.
Exemplos de erros de programa: divisão por zero, exceder limites de arrays e erros de arquivo.
Os programas devem tratar exceções de Exception.
RuntimeException
é uma subclasse importante de Exception, representando erros comuns de tempo de execução.
(fonte: https://codegym.cc/groups/posts/exceptions-in-java)
1 Exceções Checadas (Checked Exceptions): São exceções que o compilador força o desenvolvedor a tratar.
2 Exceções Não Checadas (Unchecked Exceptions): São exceções que não precisam ser verificadas pelo compilador. Elas são subclasses de RuntimeException e geralmente ocorrem por erros de lógica do programador.
Top comments (0)