estou usando SQLite Base de dados no android como nós.
No meu código, onde quer que eu faça operações de banco de dados como rawQuery
, execSQL
usando a classe do adaptador SQLite, eu normalmente uso try-catch
afirmações.
Por exemplo ---
try
{
//Database Operations using rawQuery or execSQL..
}
catch(SQLiteException e)
{
e.printStackTrace();
}
Mas obviamente SQLiteException
é a subclasse de SQLException
.
NOTA:
Existem dois tipos de SQLException:
android.database.SQLException
, java.sql.SQLException
Eu estou falando sobre o primeiro.
Então, por que não podemos simplesmente usar ---
try
{
//Database Operations using rawQuery or execSQL..
}
catch(SQLException e)
{
e.printStackTrace();
}
O que é herdado ou entre SQLiteException
e SQLException
que pode permanecer intacto se usarmos apenas SQLiteException
que pode ser capturado apenas por SQLException
?
Respostas:
0 para resposta № 1SQLException
A exceção indica que houve um erro na análise SQL ou execução.
java.lang.Object
↳ java.lang.Throwable
↳ java.lang.Exception
↳ java.lang.RuntimeException
↳ android.database.SQLException
Ligação: http://developer.android.com/reference/android/database/SQLException.html
SQLiteException
UMA Exceção SQLite que indica que houve um erro na análise do SQL ou execução.
java.lang.Object
↳ java.lang.Throwable
↳ java.lang.Exception
↳ java.lang.RuntimeException
↳ android.database.SQLException
↳ android.database.sqlite.SQLiteException
Ligação: http://developer.android.com/reference/android/database/sqlite/SQLiteException.html
SQLiteException é um erro sqlite específico e SQLException talvez não.