SQLiteCantOpenDatabaseException已捕获但仍显示错误日志

时间:2014-09-07 21:58:39

标签: java android exception-handling

我正在尝试打开数据库来测试数据库是否存在。我在try和catch语句中编写代码,以便在数据库不存在的情况下捕获SQLiteCantOpenDatabaseException。

但是,即使我捕获SQLiteCantOpenDatabaseException,也会在Logcat中打印错误日志。这是正常的吗?我还没有在异常上调用printStackTrace方法。有没有办法删除异常日志?

幸运的是,即使在try和catch语句之后,应用程序仍然正常运行。

MainActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);

    myContext = this;

    try
    {
        database = SQLiteDatabase.openDatabase(DB_PATH + DB_NAME, null,
                SQLiteDatabase.OPEN_READWRITE);
        database.close();
        Log.v("Database Log", "Database exists !!");
    }
    catch(SQLiteCantOpenDatabaseException e)
    {
        // The database doesn't exist; Lets create it

        Log.v("Database Log", "Database doesn't exists !!");
    }

logcat的

17:30:43.587: E/SQLiteLog(2054): (14) cannot open file at line 30191 of [00bb9c9ce4]
17:30:43.587: E/SQLiteLog(2054): (14) os_unix.c:30191: (2) open(/data/data/com.appsplus.hearthstonecollection/databases/hearthstonedata) - 
17:30:43.667: E/SQLiteDatabase(2054): Failed to open database '/data/data/com.appsplus.hearthstonecollection/databases/hearthstonedata'.
17:30:43.667: E/SQLiteDatabase(2054): android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database

0 个答案:

没有答案