"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Tratamento de exceções em Java

Tratamento de exceções em Java

Publicado em 01/08/2024
Navegar:142

Exception Handling In Java

Quando você executa um código ou programa Java, ele será compilado e executado ou gerará um erro. Quando um código lança um erro, é o resultado de um erro ou de uma exceção.

Um erro é mais crítico. Ocorre fora do escopo do código, mas dentro do ambiente em que o aplicativo está sendo executado. Não se espera que o programa detecte e trate um erro.

Alguns exemplos de erros são

  • Erro de falta de memória
  • Erro de máquina virtual
  • StackOverFlowError

Exceções ocorrem dentro do escopo do código. Também é conhecido como erro de execução, o que significa que ocorre durante a execução do código. Espera-se que o programador capture e trate exceções em um programa.

Esta postagem se concentrará mais especificamente em exceções e erros de tempo de execução. Você aprenderá tudo sobre exceções e como lidar com erros de exceção em seu programa Java.

Tipos de erros de execução em Java

Existem três tipos de erros de execução em Java. Aqui está uma análise de cada um deles

. Erro em tempo de compilação

Este tipo de erro é conhecido como erro de compilação ou erro verificado. Um programa Java lança esse código durante o estágio de compilação.

Em outras palavras, esse erro ocorre quando o código Javac está sendo compilado para bytecode. O erro em tempo de compilação geralmente é causado por um erro na sintaxe do código.

Por exemplo, quando o programador não consegue adicionar um ponto e vírgula no final de uma instrução ou não consegue inicializar uma variável antes de imprimir.

public class JavaExceptionCodes {
    public static void main (String []args){
        int y = 10      //no semicolon
        System.out.println(y);
    }

}

. Erro em tempo de execução

O erro em tempo de execução também é conhecido como erro de exceção ou erro não verificado. Ocorre enquanto o programa está sendo executado. O código será compilado, mas gerará um erro durante o tempo de execução.

O erro de tempo de execução pode ser classificado em exceções integradas ou exceções definidas pelo usuário. Exemplos de exceções integradas incluem:

  • Índice de matriz fora dos limites de exceção
  • Exceção aritmética
  • FileNotFoundException
  • Null Pointer Exception

Por exemplo, se um usuário inserir um int em vez de uma string ou inserir valores maiores que o tamanho de um array.

public class JavaExceptionCodes {
    public static void main (String []args) {
        int nombas[] = {1, 2, 3, 4, 5};
        System.out.println(nombas[6]); 

    }
}
//ArrayIndexOutOfBoundsException

. Erro lógico

Também conhecido como erro semântico, ocorre se houver um erro na saída lógica de um programa. Por exemplo, 3 3 mostra uma saída de 7, ou quando você faz login em sua conta e acessa outro perfil.

O erro em tempo de compilação é o mais fácil de detectar porque seu IDE sempre apontará esse erro para o programador. O erro lógico na maioria das vezes é o erro mais difícil de ver porque o código não gerará nenhum erro em tempo de compilação ou tempo de execução.

Conceito de tratamento de exceções

O tratamento de exceções é usado para detectar erros em um programa e manter o fluxo normal de execução de um programa. Normalmente, quando um programa gera um erro, o código para de ser executado.

Capturar e tratar erros antecipadamente permitirá que o programa pule o bloco de código com erros e continue executando o resto do programa.

Métodos de tratamento de exceções:

Try – Catch – Finalmente – Throw – Throws são a lista de métodos para tratamento de exceções em Java. Vamos detalhar cada um deles com exemplos:

. Tentar

Try é usado para incluir uma linha ou blocos de código que podem gerar uma exceção. Há também um try aninhado que é um try com bloco(s) try interno(s). Eles têm o mesmo propósito.

Sintaxe

try{

}

. Pegar

O catch é um bloco de código usado para capturar erros lançados no bloco try.

Sintaxe

try{

}
catch (Exception e){

}

vários blocos de captura

public class JavaExceptionCodes {
    public static void main (String []args) {
        int x = 10;
        int y = 0;
        int z ;
        int nombas [] = {5, 6, 7, 8, 9};
        try {
            System.out.println(z = x / y);
            System.out.println(nombas[6]);
        }
        catch (ArithmeticException e){
            System.out.println("Can't divide by 0. Choose another number"   e);
        }
        catch(ArrayIndexOutOfBoundsException e){
            System.out.println("Array Out Of Bound"   e);
        }
        System.out.println("End");
    }
}

. Finalmente

Finalmente, é um bloco de código opcional, que geralmente é colocado após os blocos de código try e catch. É usado para executar códigos importantes. O bloco final é sempre executado, independentemente de o programa gerar um erro ou não.

Sintaxe

try{

}
catch (Exception e){

}
finally{

}

. Lançar

Throw é uma palavra-chave usada para lançar uma exceção dentro de um método ou bloco de código.

Sintaxe

public class JavaExceptionCodes {
    public static void main (String []args) {

           try { throw new ArithmeticException("Try Run");
           }
           catch (ArithmeticException e){
               System.out.println("Catch Exception Error");
           }

    }
}

. Lança

Ao contrário da palavra-chave throw, a palavra-chave throws não é usada para lançar uma exceção. No entanto, especifica que pode haver uma exceção no método. O Throws é usado na assinatura do método e não dentro do método.

Melhores práticas para lidar com exceções

  1. Um bloco try pode ter várias instruções (linhas de código). É melhor criar vários blocos catch para capturar o erro em cada instrução.

  2. Sempre especifique o tipo de exceção se estiver trabalhando com vários blocos catch.

  3. Se houver várias instruções em um bloco try e você não souber a instrução com o erro, crie uma exceção geral final no final de outras exceções para capturar erros desconhecidos.

  4. Sempre coloque o bloco catch de exceção geral no final dos outros blocos catch de exceção personalizados.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/akamzchidi/exception-handling-in-java-f32?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3