Я пытаюсь поймать следующее исключение специально для кода 19. Есть ли способ получить the error code из SQLiteConstraintException? или я должен просто проверить «содержит» для описания сообщения?Как получить код ошибки SQLiteConstraintException в Java
03-24 14: 46: 45.430: W/System.err (2219): android.database.sqlite. SQLiteConstraintException: первичный ключ должен быть уникальным (код 19)
try {
res = database.insertOrThrow(EMP_TABLE, null, values);
} catch (android.database.sqlite.SQLiteConstraintException e) {
e.printStackTrace();
//something like e.getErrorCode(); }
Мой обходной раствор;
if(e.getMessage().contains("code 19"))
Log.d(TAG, "Key Already exists !");
Вместо того, чтобы ловить исключение, проверьте, действительно ли данная строка уже существует. Тогда вам не нужно обрабатывать исключение. – jakubbialkowski
как это сделать? другим заявлением sql? – shamaleyte
Зачем вам это нужно? Вы можете использовать res = database.insert (EMP_TABLE, null, values); и вы не получите никаких исключений. Вам просто нужно проверить значение res. если оно равно -1, то некоторая ошибка еще не указана. –