SimpleDateFormat 在编译前在 AndroidStudio 中抛出 ParseException

SimpleDateFormat throws ParseException in AndroidStudio before compiling

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

问题是,甚至在编译之前,它就给了我一个看似语法错误的 "unhandled exception java.text.ParseException".

我在 class 中使用的导入是这些:

    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,而你没有处理它。

ParseException是一个checked exception,这意味着如果你调用一个声明为抛出它的方法,那么你要么需要自己捕获它,要么需要声明你的方法可能会扔掉它。 (我们无法从您的代码中得知您想要执行哪些操作。例如,您可能想要捕获它并重新抛出一个 unchecked 异常。)