Android Studio:execSQL(String sql)不抛出SQLException

时间:2014-08-03 16:29:16

标签: android sqlite android-studio

关于它所说的文件 execSQL(String sql)抛出:SQLException - 如果SQL字符串无效

但它不在android studio中,任何人都有这个问题?

public class test extends SQLiteOpenHelper {

 public test(Context context, String name, CursorFactory factory, int version) {
    super(context, name, factory, version);     
 }

 @Override
 public void onCreate(SQLiteDatabase db) {
    try {
      db.execSQL("some sql code");
     }
    catch(SQLException e){
      //do something            
    }       
  }
 //some other overrides
}

这会给我一个错误错误,因为execSQL()没有抛出异常。当检查它的声明时我得到了

public void execSQL(String sql)  {
  executeSql(sql, null);
}

所以我的问题是在文档中,甚至在Eclipse上我确信它会返回一个SQLException但是在Android Studio上却没有。

1 个答案:

答案 0 :(得分:4)

execSQL()可以抛出android.database.SQLException。如果您无意中导入了Android Studio首次提出的java.sql.SQLException,则会收到错误

  

异常' java.sql.SQLException'永远不会抛出相应的try块

要解决此问题,请改为导入android.database.SQLException