Entendendo Palavra-chave throws do Java: Exemplos e Boas Práticas
Palavra-chave throws do Java
A palavra-chave throws em Java permite declarar que método pode lançar uma ou mais exceções. Listando explicitamente falhas potenciais, sinaliza a chamadores que devem tratar a exceção ou propagá-la adiante, mantendo código claro e confiável.
Ao chamar método de biblioteca que pode lançar exceção verificada, Java força você a tratá-la. Normalmente envolveria código arriscado em bloco try-catch:

import java.io.*;
class Arquivo1 {
public static void main(String[] args) {
try {
FileWriter arquivo = new FileWriter("c:\\Data1.txt");
arquivo.write("Guru99");
arquivo.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Se omitir try-catch, compilador rejeitará programa. Embora tratar cada exceção individualmente possa ser verboso, Java oferece alternativa mais limpa: declarar exceção na assinatura do método usando throws e deixar chamador decidir como tratar.
Sintaxe throws
public void nomeMetodo(Parametros) throws Excecao1, Excecao2, … {
…
}
Exemplo throws
Abaixo mesmo exemplo de escrita em arquivo, mas método main declara que lança IOException em vez de capturar:
import java.io.*;
class Arquivo1 {
public static void main(String[] args) throws IOException {
FileWriter arquivo = new FileWriter("c:\\Data1.txt");
arquivo.write("Guru99");
arquivo.close();
}
}
Antes de executar, crie arquivo vazio Data1.txt no drive C:\. Java oferece duas formas de satisfazer requisito do compilador que exceções verificadas sejam tratadas:
- Envolver código arriscado em bloco
try-catch. - Declarar método com
throwse propagar exceção ao chamador.
Escolher abordagem certa depende do contexto. Se método faz parte de API pública, propagar exceção mantém API limpa e força chamadores a tratar falhas explicitamente.
Throw vs. Throws
| throw | throws |
|---|---|
| Usado para criar e lançar nova instância de exceção. | Usado na assinatura do método para declarar exceções que método pode propagar. |
| Pode lançar apenas uma exceção por vez. | Pode listar múltiplos tipos de exceção separados por vírgula. |
| Exemplo: | Exemplo: |
throw new IOException("não pode abrir conexão"); |
throws IOException, ArrayIndexOutOfBoundsException |
Resumo
A palavra-chave throws é essencial para propagação clara de exceções em Java. Quando método declara throws, qualquer chamador deve tratar ou declarar também a exceção, garantindo que condições de erro nunca sejam ignoradas silenciosamente.
Java
- Entendendo a Palavra-chave final em Java: Variáveis, Métodos e Classes
- Exceções em Java: Tipos, Hierarquia e Tratamento
- Dominando Tratamento de Exceções em Java: Try, Catch, Finally, Throw e Throws Explicados
- Método Java String length(): Como Obter o Tamanho de uma String (Exemplo)
- Entendendo Java String.charAt(): Sintaxe, Tipo de Retorno, Exceções e Exemplo Prático
- Método Java String.contains(): Como Verificar Substrings – Exemplos Práticos
- Dominando Java String.endsWith(): Como Verificar Sufixos de String com Exemplos
- Lendo Arquivos em Java com BufferedReader – Guia Prático com Exemplos
- Algoritmo Insertion Sort em Java: Exemplo Claro e Guia Passo a Passo
- Selection Sort em Java: Exemplo Passo a Passo e Código Completo