インポート/エクスポートデータを実装しようとしているため、インポートされたファイルがエラーを管理するためのsqliteデータベースでない場合に何が起こるかをテストしたいと思います。
logcatには次のものがあります。
03-22 15:02:39.957: E/SQLiteLog(20407): (26) file is encrypted or is not a database
03-22 15:02:39.978: E/DefaultDatabaseErrorHandler(20407): Corruption reported by sqlite on database: /data/data/com.crbin1.ltd/databases/dbltd
03-22 15:02:40.017: E/DefaultDatabaseErrorHandler(20407): deleting the database file: /data/data/com.crbin1.ltd/databases/dbltd
アプリケーションは、ユーザーにエラーなしで新しい空のデータベースを作成するだけです。
dbインポート後、次のコードを呼び出します(DatabaseLTDは私のSQliteOpenHelperクラスです)
private void checkImportedDb() {
try {
DatabaseLTD dbltd = new DatabaseLTD(mCtx);
SQLiteDatabase db = dbltd.getReadableDatabase();
} catch (SQLiteException e) {
e.printStackTrace();
}
}
しかし、「ファイルが暗号化されているか、データベースではありません」というエラーを傍受することはできません。エラーをキャッチして管理するにはどうすればよいですか?