Pular para o conteúdo principal
Documentos
Palavras-chave JavaMatrizes JavaProgramação orientada a objetos em JavaManuseio de arquivos JavaIntrodução ao JavaNoções básicas da linguagem Java

palavra-chave throws em Java

A palavra-chave throws em Java é usada em declarações de métodos para especificar que o método pode lançar uma ou mais exceções. Ele fornece uma maneira de os métodos sinalizarem que podem encontrar condições excepcionais com as quais não estão equipados para lidar.

Uso

A palavra-chave throws é colocada na assinatura do método após a lista de parâmetros e antes do corpo do método. Ele é seguido por uma lista separada por vírgulas de classes de exceção que o método pode lançar.

Sintaxe

returnType methodName(parameters) throws ExceptionType1, ExceptionType2 {
    // method body
}
  • returnType: O tipo de retorno do método.
  • methodName: O nome do método.
  • parameters: Os parâmetros do método.
  • ExceptionType1, ExceptionType2: As exceções que o método pode lançar.

Exemplos

Exemplo 1: Exceção única

public void readFile(String fileName) throws IOException {
    FileReader file = new FileReader(fileName);
    BufferedReader fileInput = new BufferedReader(file);

    // Read file content
    for (int counter = 0; counter < 3; counter++)&nbsp;
        System.out.println(fileInput.readLine());

    fileInput.close();
}

Neste exemplo, o método readFile declara que você pode lançar um IOException. Isso indica que o método pode encontrar um erro de entrada/saída que não pode ser tratado internamente.

Exemplo 2: Múltiplas exceções

public void processFile(String fileName) throws IOException {
    FileReader file = new FileReader(fileName);
    BufferedReader fileInput = new BufferedReader(file);

    // Read file content
    for (int counter = 0; counter < 3; counter++)
        System.out.println(fileInput.readLine());

    fileInput.close();
}

Aqui, o método processFile declara que pode lançar tanto IOException quanto FileNotFoundException. Isso informa ao chamador que o método pode encontrar uma dessas exceções.

Exemplo 3: Exceção personalizada

public class CustomException extends Exception {
    public CustomException(String message) {
        super(message);
    }
}

public void validateAge(int age) throws CustomException {
    if (age < 18) {
        throw new CustomException("Age must be 18 or older.");
    }
    System.out.println("Age is valid.");
}

Neste exemplo, é criada uma exceção personalizada CustomException. O método validateAge declara que pode lançar essa exceção personalizada se a idade for inferior a 18 anos.

Dicas e práticas recomendadas

  • Declarar exceções específicas: Declare as exceções mais específicas possíveis em vez de usar uma classe Exception genérica. Isso torna o código mais legível e de fácil manutenção.
    public void method() throws IOException, SQLException {
        // method body
    }
  • Exceções de documentos: Sempre documente as exceções que um método pode lançar usando os comentários do Javadoc. Isso ajuda outros desenvolvedores a entender os possíveis riscos e a lidar com eles adequadamente.
    /**
     * Reads a file and prints its content.
     * 
     * @param fileName the name of the file to read
     * @throws IOException if an I/O error occurs
     */
    public void readFile(String fileName) throws IOException {
        // method body
    }
  • Use o site throws criteriosamente: Use a palavra-chave throws somente quando o método não puder tratar a exceção internamente. Se possível, trate as exceções dentro do método para oferecer um aplicativo mais robusto e fácil de usar.
    public void readFile(String fileName) {
        try {
            FileReader file = new FileReader(fileName);
            BufferedReader fileInput = new BufferedReader(file);
            // Read file content
            for (int counter = 0; counter < 3; counter++) 
                System.out.println(fileInput.readLine());
            fileInput.close();
        } catch (IOException e) {
            System.err.println("An error occurred: " + e.getMessage());
        }
    }
  • Propagar exceções: Ao propagar exceções, certifique-se de que o método de chamada seja capaz de tratá-las ou de propagá-las na pilha de chamadas.

Learn Java Essentials

Desenvolva suas habilidades em Java desde o início e domine os conceitos de programação.
Comece a aprender de graça