在Android中解析日期迫使应用程序关闭

时间:2012-10-19 06:35:04

标签: android parsing date format formatter

我有这段代码:

aktiv_date = dateaktiv.getText().toString();
SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy");
try {
     aktiv_dat = formatter.parse(aktiv_date);
    } catch (java.text.ParseException e) {
     e.printStackTrace();
    }

当我给它一个类似的数字:12101989或类似的东西时,没有格式dd.MM.yyyy程序崩溃,因为它说来自aktiv_date的数据在行上是不可解析的:

 aktiv_dat = formatter.parse(aktiv_date);

我该怎么做才能让它不崩溃?

2 个答案:

答案 0 :(得分:3)

我怀疑问题在于您正在捕获ParseException,转储异常,然后继续,好像什么都没有出错

您尚未显示声明aktiv_dat的位置,但如果解析失败,我怀疑它的值为null ...因此NullPointerException。打印堆栈跟踪然后继续几乎永远正确处理异常的方式。您应该考虑一下您希望程序在无效数据面前表现如何 - 您是否想要使用默认日期,是否要放弃该操作等等...

答案 1 :(得分:0)

你可以尝试这样编辑:

SimpleDateFormat formatter = new SimpleDateFormat(“ddMMyyyy”);