Vídeo: Diferença Entre Exceção Verificada E Exceção De Tempo De Execução
2024 Autor: Mildred Bawerman | [email protected]. Última modificação: 2023-12-16 08:41
Exceção verificada vs exceção de tempo de execução
As exceções são tipos especiais de eventos, que podem perturbar o fluxo normal do programa. A exceção de nome vem de “evento excepcional”. Lançar uma exceção é o processo de criar um objeto de exceção e transferi-lo para o sistema de tempo de execução. Quando o sistema de execução recebe o objeto de exceção, ele tentará encontrar alguém para tratá-lo dentro da pilha de chamadas, percorrendo-o na ordem reversa (na qual os métodos foram chamados). O sistema de execução é bem-sucedido se encontrar um método com um manipulador de exceção. O manipulador de exceções é um bloco de código que pode manipular oficialmente a referida exceção. Se o sistema de tempo de execução encontrar um manipulador apropriado, ele passará o objeto de exceção para o manipulador. Isso é chamado de captura da exceção. No entanto, se a exceção não puder ser tratada, o programa será encerrado. Em Java,as exceções herdam da classe Throwable. As exceções verificadas são exceções nas quais o tratamento é imposto pelo compilador. As exceções de tempo de execução são um tipo de exceções que não são verificadas pelo compilador.
O que é uma exceção verificada?
As exceções verificadas são objetos da classe java.lang.exception ou suas subclasses (exceto java.lang. RuntimeException e suas subclasses). As exceções verificadas são “verificadas” em tempo de compilação. Isso significa que o programador deve capturar ou lançar essas exceções, ou então a compilação reclamaria (causando um erro do compilador). Por esse motivo, muitas exceções verificadas são bem conhecidas dos programadores. Por exemplo, a IOException e suas subclasses são exceções verificadas e, sempre que o programador está lidando com o acesso ou modificação de um arquivo, o compilador verifica para ter certeza de que todas as IOExceptions possíveis foram atendidas pelo programador.
O que é uma exceção de tempo de execução?
As exceções de tempo de execução consistem em java.lang. RuntimeException e todas as suas subclasses. Teoricamente falando, eles servem ao mesmo propósito das exceções verificadas e podem ser lançados ou tratados como exceção verificada, mas o tratamento deles não é imposto pelo compilador. Portanto, as exceções de tempo de execução pertencem à família de exceções não verificadas. NullPointerException, NumberFormatEception, ClassCastException e ArrayIndexOutOfBoundsException são exceções de tempo de execução comuns em Java.
Qual é a diferença entre Checked Exception e Runtime Exception?
Embora as exceções verificadas e as exceções de tempo de execução sejam ocorrências indesejadas durante a execução de um programa, elas têm suas diferenças. A manipulação de exceção verificada é aplicada pelo compilador, mas as exceções de tempo de execução não. Portanto, as exceções verificadas devem ser lançadas ou tratadas para que o código seja compilado, mas não há tal requisito em relação às exceções de tempo de execução. Conseqüentemente, as exceções de tempo de execução pertencem à categoria de exceções não verificadas junto com os erros.
A desvantagem das exceções verificadas é que o programador tem que lidar com isso mesmo que não saiba como. Portanto, se o programador apenas lançar uma nova exceção sem envolver o original, o rastreamento de pilha pertencente à exceção original será perdido. É aqui que as exceções de tempo de execução são úteis. Como todas as exceções de tempo de execução podem ser tratadas em um único lugar, os programadores podem escrever menos quantidade de código. Por outro lado, como as exceções verificadas devem ser capturadas, não há surpresa para o programador. Ela sempre saberá qual exceção verificada pode ser lançada por um determinado método. Ao contrário disso, várias exceções de tempo de execução podem ser lançadas sem o conhecimento do programador.
Recomendado:
Diferença Entre Fragmento De Frase E Execução
A principal diferença entre fragmento de frase e execução é que um fragmento de frase é uma sequência de palavras que não pode formar um pensamento completo por conta própria
Diferença Entre Tempo De Compilação E Tempo De Execução
Diferença chave - tempo de compilação versus tempo de execução A maioria dos programas é escrita usando linguagens de programação de alto nível. Essas linguagens de programação têm uma sintaxe simi
Diferença Entre Compartilhamento De Tempo E Sistema Operacional Em Tempo Real
Diferença chave - Time Sharing vs Sistema operacional em tempo real A principal diferença entre o time sharing e o sistema operacional em tempo real é que
Diferença Entre Exceção Marcada E Não Verificada Em Java
Diferença principal - Exceção verificada vs não verificada em Java Uma exceção é um erro de tempo de execução. Existem dois tipos de exceções conhecidas como marcadas e não marcadas
Diferença Entre Um Tempo E Um Tempo
Awhile vs While Awhile e while são duas palavras na gramática inglesa que as pessoas muitas vezes erroneamente entendem como sendo o mesmo significado, mas há uma