O instrutor Paulo fala em algum momento da aula(13:29) sobre programar defensivamente onde ele fala que devemos verificar os parâmetros dos nossos construtores.
Pelo que eu entendi o código ficaria assim:
public Aula(String titulo, double duracao) {
if (titulo == null) {
throw new IllegalArgumentException("Título não pode ser NULL");
}
if(duracao <= 0) {
throw new IllegalArgumentException("Duração da aula deve ser maior que zero");
}
this.titulo = titulo;
this.duracao = duracao;
}
Uma vez que estou lançando essas exceções, mesmo que não seja obrigatório trata-las, pois são unchecked, seria boa prática usar o try catch nelas no método main? A mesma regra vale para os sets? e se tiver um construtor com muitos parâmetros, seria melhor eu criar métodos sets privados(caso eu não precise deles fora da classe) e lançar as exceções dentro de cada um e então chamar esses sets dentro do construtor?