我有以下两种方法
方法一
public String[] getSongIds(String whereClause)
{
String countQuery = "SELECT songid FROM TABLE_INDEX WHERE " + whereClause;
Cursor cursor = db.rawQuery(countQuery, null);
int cursorSize = cursor.getCount();
int[] songIds = new int[cursorSize];
int count=0;
if (cursor != null ) {
if (cursor.moveToFirst()){
do{
songIds[count] = cursor.getInt(cursor.getColumnIndex("songid"));
count++;
}while(cursor.moveToNext());
}
}
cursor.close();
db.close();
return getSongTitles(songIds);
}
方法二
private String[] getSongTitles(int[] songIds) {
/some algorithm
return songTitles;
}
方法 1 是从不同的包中调用的。方法 1 对 SQLite 数据库运行查询并调用第二个方法。我需要通过在方法 1 中执行 SQLite 查询来捕获通常导致的异常。最好返回 (-1) 或其他内容,以便我可以从最初调用这些方法的包中向用户显示一条消息。因此,如果存在(错误输入)SQL 异常,我希望方法 1 避免调用方法 2,而是将某些内容返回给另一个包
ps 我看到了几种捕获此异常的方法,但对他们的方法不满意。想知道解决这个问题的最佳方法是什么。干杯