我正在创建一个应用程序,即在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构造函数的一部分,但它没有任何区别。
在编译之前,这个未处理的异常的原因是什么?
提前致谢,
罗尼
答案 0 :(得分:2)
并不是ParseException
被抛出 - 问题是编译器抱怨,因为你正在调用{em>可以的parse
扔一个ParseException
,而你却没有处理它。
ParseException
是checked exception,这意味着如果你调用一个声明抛出它的方法,那么你需要自己捕获它,或者你需要声明你的方法可能会抛出它它。 (我们无法从您的代码中告诉您要执行哪些操作。例如,您可能想要捕获它并重新生成未经检查的异常。)