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