我之前从未遇到过此错误,所以我不确定该怎么做或意味着什么
未处理的异常类型
OperationApplicationException
它在以下代码中发生:
public void putSettings(SharedPreferences pref){
ArrayList<ContentProviderOperation> ops =
new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI)
.withSelection(Data.RAW_CONTACT_ID + "=?", new String[]{String.valueOf(pref.getString(SmsPrefs.ID, ""))})
.withValue(Data.MIMETYPE,"vnd.android.cursor.item/color")
.withValue("data1",nColor).build());
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); //error
ops.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI)
.withSelection(Data.RAW_CONTACT_ID + "=?", new String[]{String.valueOf(pref.getString(SmsPrefs.ID, ""))})
.withValue(Data.MIMETYPE,"vnd.android.cursor.item/vibrate")
.withValue("data1", nVibrate).build());
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); //error
ops.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI)
.withSelection(Data.RAW_CONTACT_ID + "=?", new String[]{String.valueOf(pref.getString(SmsPrefs.ID, ""))})
.withValue(Data.MIMETYPE, "vnd.android.cursor.item/sound")
.withValue("data1", ringTonePath).build());
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);//error
}
它给了我2个选项“添加抛出声明”和“使用try / catch进行环绕”。
我该怎么办,为什么?
这意味着您要调用的方法已使用throws
指令声明了从Exception
类派生的异常。当以这种方式声明一个方法时,您将被迫使用一个try/catch
块来处理该异常,或者将一个相同的throws
(对于相同的异常或超类型)语句添加到您的方法声明中。
一个例子。
我想foo
在我的方法中调用某个方法bar
。
这是foo
的定义:
public static void foo(String a) throws Exception {
// foo does something interesting here.
}
我想打电话foo
。如果我只是这样做:
private void bar() {
foo("test");
}
…然后我会得到您遇到的错误。 foo
向世界宣告它真的可能决定扔一个,Exception
而您最好准备好应对它。
我有两个选择。我可以bar
按如下方式更改的定义:
private void bar() throws Exception {
foo("test");
}
现在,我公开了自己的警告,警告我的方法或调用的某些方法可能会引发Exception
方法用户应处理的警告。由于我已经将方法的调用者的责任交给了我,因此我的方法不必处理异常本身。
如果可以的话,通常最好自己处理异常。这使我们进入第二种选择try/catch
:
private void bar() {
try {
foo("test");
} catch(Exception e) {
Log.wtf("MyApp", "Something went wrong with foo!", e);
}
}
现在,我已经处理了潜在的Exception
被抛出foo
,编译器在抱怨。既然已经处理过了,所以我不需要throws
在我的bar
方法中添加指令。
我正在构建一个颤振应用程序,我必须解析api中的一些数据,我设置了所有内容,但我收到了这个错误,我不知道为什么,我是颤振新手,任何帮助都将不胜感激。谢谢。 生成的错误 这是我的api响应示例 这就是我处理数据的方式 这是模型课
我想使用MongoDB用NestJs和TypeORM创建一个应用程序。假设我有一个实体,除了ID字段外,还有两个唯一的字段 当我想用已经存在的或创建一个新模块时,我得到了以下异常错误 因此,在catch语句中,我必须处理传入的错误。我要做的是 TypeORM是否公开预制异常?是否有我可以使用的枚举?获取这些TypeORM数据库错误的好方法是什么? 这里似乎列出了一些错误 https://githu
我正在解码一个响应体,我得到了错误: 我在Udemy上学习颤振教程时,正在尝试使用API。教程说要使用https://javiercbk.github.io/json_to_dart/将JSON转换为Dart。我把JSON从https://www.openbrewerydb.org/并将其转换为Dart,但我遇到的问题是,当我尝试解码API时,我得到了未处理的错误异常:“List”类型不是“Map
我对使用颤振和特定于平台的代码非常陌生,所以如果这是一个愚蠢的问题,请原谅我。我正在使用一个事件通道将数据从android端返回到Flatter。我正在返回一份清单 但是,当我试图添加它时,它给出了一个异常,“未处理的异常:类型'列表'不是类型'列表'的子类型 这是我要将贴图对象添加到的列表。 列表 这是我的添加代码。忽略print语句。 我尝试过像cast或from这样的方法,但它对我不起作用,
我收到了错误消息: 被精确定位的线在这里: 返回类型为
我正在尝试从服务器获取json数据