0

Android デバイスの SQLite db にいくつかの日付を保存するアプリを作成しています。

現在、日付を保存するテキスト文字列の解析を除いて、ほとんどが意図したとおりに機能します。

    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 コンストラクターの一部として、さまざまな Locales も試しましたが、違いはありませんでした。

コンパイルする前に、この未処理の例外の原因は何ですか?

前もって感謝します、

ロニー

4

1 に答える 1

3

ParseException aがスローされているわけではありません。問題は、をスローできるparsewhichを呼び出していて、それを処理していないため、コンパイラが不平を言っていることです。ParseException

ParseExceptionこれは、それをスローするように宣言されているメソッドを呼び出す場合、自分でそれをキャッチするか、メソッドがスローする可能性があることを宣言する必要があることを意味します(コードからは、どちらを実行したいのかわかりません。たとえば、それをキャッチして、チェックされていない例外を再スローしたい場合があります。)

于 2015-11-04T10:39:28.730 に答える