Oi gente poderiam me ajudar com um negócio?
Tenho um metodo que recebe um string no formato dd/mm/aaaa e tranformo em calendar…porém… se a string vem com uma data qua não existe, por exemplo 29/13/2009 nada acontece. Que excessão poderia usar?Na verdade a excessão ocorreria na hora da conversão para calendar certo?
Se não ocorre excessão no momento do parser (neste caso) use o método split da string e verifique se o dia é maior 31 e/ou mês maior que 12 e lance uma excessão.
Abraços.
ViniGodoy
Antes da conversão, faça:
seuCalendar.setLenient(false);
Ele é que permite que datas inválidas (como 31/02) sejam automaticamente convertidas para datas válidas (como 02/03).
Calendarcal=Calendar.getInstance();SimpleDateFormatformat=newSimpleDateFormat("ddMMyyyy");format.setLenient(false);//IMPORTANTE: Sem isso não dá erro.java.sql.Datedata=newjava.sql.Date(format.parse(dataStr).getTime());cal.setTime(data);