使用API 17處理Android應用程序,並且當前需要執行一些反射才能完成任務。 ReflectiveOperationException僅適用於API 19及更高版本,但這很好,因爲我可以簡單地捕獲每個異常。有沒有辦法抑制「catch分支相同」警告?無法在此實例中使用多捕獲
問題是,當我這樣做,我得到一個警告說catch分支是相同的,可以使用多捕獲(或使用異常,我想避免)。但是,當我將捕獲作爲多捕獲,我得到的錯誤說我不能使用ReflectiveOperationException類,因爲不是API 19.
簡而言之,我只想壓制警告,但wasn'牛逼能發現,除了只是在做@SuppressWarning(「全」)
爲背景,這裏的警告/錯誤匹配任何內容:
// Error: "Multi-catch with these reflection exceptions requires API level 19 (current min is 15)
// because they get compiled to the common but new super type ReflectiveOperationException.
// As a workaround either create individual catch statements, or catch Exception."
try {
return someMethodThatThrowsExceptions();
} catch (InstantiationException | IllegalAccessException e) {
throw new RuntimeException(e);
}
// Warning: 'catch' branch identical to 'InstantiationException | IllegalAccessException' branch"
try {
return someMethodThatThrowsExceptions();
} catch (InstantiationException e) {
throw new RuntimeException(e);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
} catch (InvocationTargetException e) {
throw new RuntimeException(e);
}
編輯:添加了所有我正在處理漁獲物,原來只有兩個
奇怪的漁獲-22。 – chrylis