Как правильно использовать try-catch при использовании Cursor

В своем приложении использую базу данных SQLite. При получении данных использую следующий код:

    try(Cursor cur = db.rawQuery(sql, null)){
        if (cur != null) {
            if (cur.moveToFirst())
                data = new Data(cur.getInt(cur.getColumnIndex("id")));
        }
    }

Но при использовании try-with-resources я при возникновении исключения не получаю его описание. Просто в логе ошибка типа SQLiteException Правильно ли будет использовать следующий код:

    try{
        Cursor cur = db.rawQuery(sql, null);
        if (cur != null) {
            if (cur.moveToFirst())
                data = new Data(cur.getInt(cur.getColumnIndex("id")));
            cur.close();
        }
    } catch (SQLException e) {
        e.printStackTrace();
        System.out.println("sql.query{"+sql+"}");
    }

Ответы (0 шт):