Android contentProvider中的SQLException

Android contentProvider中的SQLException,android,android-contentprovider,sqlexception,Android,Android Contentprovider,Sqlexception,每个人都知道android的记事本示例。它的内容提供程序在insert方法的末尾包含“throw new SQLException”(“未能将行插入”+uri);”,但当我尝试在自己的contentProvider中使用该行时,Eclipse显示一个错误“Unhandled exception type SQLException” 如何从此方法引发此异常?您需要告诉编译器此方法将引发此异常,因此在方法头中添加“throws-SQLException”,例如 public Uri insert(U

每个人都知道android的记事本示例。它的内容提供程序在insert方法的末尾包含“throw new SQLException”(“未能将行插入”+uri);”,但当我尝试在自己的contentProvider中使用该行时,Eclipse显示一个错误“Unhandled exception type SQLException”


如何从此方法引发此异常?

您需要告诉编译器此方法将引发此异常,因此在方法头中添加“throws-SQLException”,例如

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

这没用。它告诉“Exception SQLException与ContentProvider.insert(Uri,ContentValues)中的throws子句不兼容”。记事本示例不包含“throws”,我只是查看了代码。实际上SQLException是一个运行时异常。您根本不需要在方法头中声明它。我不理解您在Eclipse中的原始错误msg-它对我来说编译得很好。我不理解Eclipse为什么不在记事本示例中显示此msf,但在我的应用程序中它没有显示,我明白了为什么-您导入了错误的SQLException。在src文件的顶部,将import java.sql.SQLException更改为import android.database.SQLExceptionI在android studio中遇到了同样的问题,并且在将import更改为“import android.database.SQLException”之后,一切正常。谢谢你,伙计。