【问题标题】:Android Studio: execSQL(String sql) do not throw SQLExceptionAndroid Studio:execSQL(String sql) 不抛出 SQLException
【发布时间】:2014-08-03 16:29:15
【问题描述】:

在它说的文档上 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 上却不是。

【问题讨论】:

  • 我认为他在谈论文档。可以吗?
  • 到底发生了什么?异常处理程序真的是空的吗?
  • 嘿伙计们,我的问题不在于代码,而是根据文档,它应该返回该异常。即使您在 eclips 上检查它,我也可以捕获 SQLException。所以我只是问它是否只在我的 Android 工作室或每个人的
  • 您导入的是java.sql.SQLException 还是android.database.SQLException

标签: android sqlite android-studio


【解决方案1】:

execSQL() 可以抛出 android.database.SQLException。如果您无意中按照 Android Studio 的建议导入了java.sql.SQLException,您将收到错误消息

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

要修复它,请改为导入 android.database.SQLException

【讨论】:

    猜你喜欢
    • 2015-11-23
    • 1970-01-01
    • 2012-08-13
    • 2012-08-12
    • 2023-03-19
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多