SimpleDateFormat在编译之前在AndroidStudio中抛出ParseException

时间:2015-11-04 10:30:48

标签: java android calendar simpledateformat parseexception

我正在创建一个应用程序,即在Android设备上的SQLite数据库中存储一些日期。

目前,除了解析我将日期存储为的文本字符串外,其中大部分都按预期工作。

    private final String ALARMS_COLUMN_TIME = "time";

    Calendar cal = Calendar.getInstance();
      SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
      String dateString = cursor.getString(cursor.getColumnIndex(ALARMS_COLUMN_TIME));
      cal.setTime(dateFormat.parse(dateString));

问题是,即使在编译之前,它也会给出一个看似语法错误的"未处理的异常java.text.ParseException"。

我在该类中使用的导入是:

    import android.content.ContentValues;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Calendar;

我已尝试使用各种Locales,作为SimpleDateFormat构造函数的一部分,但它没有任何区别。

在编译之前,这个未处理的异常的原因是什么?

提前致谢,

罗尼

1 个答案:

答案 0 :(得分:2)

并不是ParseException 被抛出 - 问题是编译器抱怨,因为你正在调用{em>可以parse扔一个ParseException,而你却没有处理它。

ParseExceptionchecked exception,这意味着如果你调用一个声明抛出它的方法,那么你需要自己捕获它,或者你需要声明你的方法可能会抛出它它。 (我们无法从您的代码中告诉您要执行哪些操作。例如,您可能想要捕获它并重新生成未经检查的异常。)