Pessoal ta dificil de entender o conceito de criação de Exceptions personalizadas, alguem poderia passar um exemplo de uma Exception que verifica se uma data é maior que a outra? aliais é possivel fazer isso? é recomendavel tratar validações de regra de negocios com exceptions personalizadas? desde já agradeço!
[RESOLVIDO]Como criar uma Exception que valída se uma data é maior que a outra?
4 Respostas
RafaelCassau
Veja se isto te ajuda
http://www.roseindia.net/java/java-exception/simple-date-format-exception.shtml
abraço
O objetivo de se utilizar Exceptions não é para validar uma regra de negócio. De jeito nenhum. A idéia é que a exception apenas ocorra se ocorrer algum erro na sua implementação. O que você faria...em caso de validação de data seria o seguinte:
public class TestaData {
/**
* @param args
*/
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
Date effectiveDate = new Date(2011-06-18);
try {
if(effectiveDate.before(c.getTime())){
System.out.println("Você não pode continuar daqui...");
}else if(effectiveDate.after(c.getTime())){
System.out.println("Continue o que ia fazer...");
}
} catch (Exception e) {
e.getMessage();
}
}
}
Beleza? Deu pra dar uma clareada?
Abraço.
// Poderia herdar de Exception, RuntimeException ou qualquer outra subclasse delas
class DataInvalidaException extends IllegalArgumentException {
// Chamada para os construtores da superclasse
}
// O codigo para verificar a data e disparar o erro
Date data1; // Instancia ou vem de algum canto
Date data2; // Idem
if(data1.compareTo(data1) > 0) {
throw new DataInvalidaException("Data1 deve ser menor que data2");
}
2)
Imagine essa situação: vc recebe os dados de uma página em uma ManagedBean e ele chama um método salvar de uma classe de negócio, que retorna void. Na classe de negócios vc faz a validação e vê que o objeto não pode ser salvo por alguma razão.
Nesse contexto vc deveria disparar uma exceção informando que o objeto não pode ser salvo juntamente com a causa, visto que o método retorna void e ficaria no mínimo 'estranho' retornar String ou algo do tipo, e o ManagedBean trataria essa exceção exibindo a mensagem de forma amigável para o usuário.
Boa tarde galera, agradeço muito a ajuda e atenção de vocês me esclareceu muitas duvidas referente a tratamento de exceções, é uma das coisas que estavam me impacando no desenvolvimento de sistemas WEB com JAVA, mais infelismente não consegui muitos esclarecimentos em outro topico que abri esses dias, se puderem dar um help, está ae o link:
é referente ao tratamento de exceções também, mais criando excessões personalizadas para cada camada, desde já agradeço novamente a paciência e ajuda de vcs!!! t+