我正在制作一个应用程序,它将一些日期存储在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;


作为SimpleDateFormat构造函数的一部分,我也尝试了各种语言环境,但没有任何区别。

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

提前致谢,

罗尼

最佳答案

这不是抛出ParseException的问题-问题是编译器在抱怨,因为您正在调用parse,而后者可能抛出ParseException,并且您没有对其进行处理。

ParseExceptionchecked exception,这意味着如果调用声明为抛出它的方法,则您要么需要自己捕获它,要么需要声明您的方法可能抛出它。 (例如,我们无法从您的代码中确定要执行的操作。例如,您可能想捕获它并重新抛出未经检查的异常。)

08-03 20:13