Postagem 5: Tratamento de erros com exceção em JAVa
- Jefferson Firmino Mendes
- 9 de jan. de 2024
- 2 min de leitura
Introdução
No laboratório anterior, você aprendeu a usar exceções para tratar erros em seu código. Nesta postagem, vamos revisar alguns conceitos importantes sobre exceções e discutir como usá-las para melhorar a qualidade do seu código.
Conceitos básicos sobre exceções
Uma exceção é um evento inesperado que pode ocorrer durante a execução de um programa. As exceções podem ser causadas por uma variedade de fatores, como erros de programação, erros de entrada do usuário ou problemas de hardware.
Quando uma exceção ocorre, o programa entra em um estado de exceção. O programa deve então tratar a exceção ou gerar um erro.
O tratamento de exceções é uma forma de garantir que seu código continue funcionando mesmo quando uma exceção ocorre. O tratamento de exceções permite que você recupere o controle do programa e tome medidas para corrigir o problema que causou a exceção.
Como usar exceções
Para usar exceções, você deve primeiro declarar uma exceção. Isso é feito usando a palavra-chave throws.
Java
public class MeuPrograma {
public static void main(String[] args) throws Exception {
// ...
}
}
A declaração throws Exception informa ao compilador que o método main() pode lançar uma exceção.
Para tratar uma exceção, você deve usar um bloco try-catch.
Java
public class MeuPrograma {
public static void main(String[] args) throws Exception {
try {
// ...
} catch (Exception e) {
// ...
}
}
}
O bloco try contém o código que pode lançar uma exceção. O bloco catch contém o código que será executado se uma exceção for lançada.
No exemplo acima, o bloco try contém o código que tenta ler um valor do usuário. O bloco catch contém o código que será executado se o usuário inserir um valor inválido.
Como gerar exceções
Você também pode gerar exceções explicitamente. Isso é feito usando a palavra-chave throw.
Java
public class MeuPrograma {
public static void main(String[] args) throws Exception {
if (true) {
throw new Exception("Erro!");
}
}
}
No exemplo acima, o método main() gera uma exceção se a expressão true for verdadeira.
Exceções no laboratório 4
No laboratório 4, você usará exceções para tratar os seguintes erros:
Títulos de músicas ou álbuns vazios ou null
Durações de músicas negativas ou zero
Anos de lançamento de álbuns inferiores a 1900
Para tratar esses erros, você deve declarar as exceções IllegalArgumentException e RuntimeException.
Java
public class Musica {
private String titulo;
private int duracao;
private String genero;
public Musica(String titulo, int duracao, String genero) {
if (titulo == null || titulo.isEmpty()) {
throw new IllegalArgumentException("O título da música deve ser informado!");
}
if (duracao < 0) {
throw new IllegalArgumentException("A duração da música deve ser maior que zero!");
}
this.titulo = titulo;
this.duracao = duracao;
this.genero = genero;
}
// ...
}
Java
public class Album {
private String titulo;
private String artista;
private int anoLancamento;
private List<Musica> musicas;
public Album(String titulo, String artista, int anoLancamento) {
if (titulo == null || titulo.isEmpty()) {
throw new IllegalArgumentException("O título do álbum deve ser informado!");
}
if (anoLancamento < 1900) {
throw new IllegalArgumentException("O ano de lançamento do álbum deve ser maior ou igual a 1900!");
}
this.titulo = titulo;
this.artista = artista;
this.anoLancamento = anoLancamento;
this.musicas = new ArrayList<>();
}
// ...
Comments