我在android中使用 SQLite 数据库。
在我的代码中,无论我使用SQLite Adapter类进行rawQuery
,execSQL
等数据库操作,我通常都使用try-catch
语句。
例如---
try
{
//Database Operations using rawQuery or execSQL..
}
catch(SQLiteException e)
{
e.printStackTrace();
}
但显然SQLiteException
是SQLException
的子类。
注意:
有两种类型的 SQLException :
android.database.SQLException
,java.sql.SQLException
我说的是前者。
那么为什么我们不能只使用---
try
{
//Database Operations using rawQuery or execSQL..
}
catch(SQLException e)
{
e.printStackTrace();
}
SQLiteException
和SQLException
之间的遗传或谎言,如果我们只使用SQLiteException
只能抓住的SQLException
,则可以保持未被捕获状态?
答案 0 :(得分:0)
<强>的SQLException 强>
异常表示SQL解析或错误 执行。
java.lang.Object
↳ java.lang.Throwable
↳ java.lang.Exception
↳ java.lang.RuntimeException
↳ android.database.SQLException
链接:http://developer.android.com/reference/android/database/SQLException.html
<强> SQLiteException 强>
SQLite异常,表示SQL解析出错 或执行。
java.lang.Object
↳ java.lang.Throwable
↳ java.lang.Exception
↳ java.lang.RuntimeException
↳ android.database.SQLException
↳ android.database.sqlite.SQLiteException
链接:http://developer.android.com/reference/android/database/sqlite/SQLiteException.html
SQLiteException是特定的sqlite错误,而SQLException可能不是。