我正在制作一个应用程序,它将一些日期存储在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
,并且您没有对其进行处理。ParseException
是checked exception,这意味着如果调用声明为抛出它的方法,则您要么需要自己捕获它,要么需要声明您的方法可能抛出它。 (例如,我们无法从您的代码中确定要执行的操作。例如,您可能想捕获它并重新抛出未经检查的异常。)