【问题标题】:SQLException in contentProvidercontentProvider 中的 SQLException
【发布时间】:2011-06-06 16:28:05
【问题描述】:

每个人都知道 NotePad exaple for android。它的内容提供程序包含“throw new SQLException("Failed to insert row into " + uri);"在插入方法的末尾,但是当我尝试在自己的 contentProvider 中使用此行时,Eclipse 显示错误“未处理的异常类型 SQLException”。

我怎样才能从这个方法中抛出这个异常?

【问题讨论】:

    标签: android android-contentprovider sqlexception


    【解决方案1】:

    你需要告诉编译器这个方法会抛出这个异常,所以将“throws SQLException”添加到你的方法头中,例如

    public Uri insert(Uri uri, ContentValues values) throws SQLException {
        //dostuff
    }
    

    【讨论】:

    • 没用。它告诉“异常 SQLException 与 ContentProvider.insert(Uri, ContentValues) 中的 throws 子句不兼容”。记事本示例也不包含“抛出”
    • 我只是看了一下代码。实际上 SQLException 是一个运行时异常。您根本不需要在方法头中声明它。我不明白你在 Eclipse 中的原始错误消息 - 它对我来说编译得很好。
    • 我不明白为什么 eclipse 在记事本示例中没有显示这个 msf,但在我的应用程序中却显示了
    • 好的,我明白了 - 您导入了错误的 SQLException。在您的 src 文件顶部将 import java.sql.SQLException 更改为 import android.database.SQLException
    • 我在 Android Studio 中遇到了同样的问题,在将导入更改为“import android.database.SQLException;”之后一切正常。谢谢朋友。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多