捕获多个异常,而不是在混淆的构建中捕获异常

问题描述 投票:5回答:2

我使用了具有多个异常的catch块,这在未经模糊处理的构建中工作正常,但在模糊构建中没有捕获异常。

我正在使用proguard-maven-plugin

try {
  ...
} catch (ServletException | IOException e){
  ...
}

我需要为此添加任何proguard规则吗?

因为它的工作正常当我编写我的代码时

try {
  ...
} catch (ServletException e) {
  ...
} catch (IOException e) {
  ...
}
java try-catch proguard obfuscation
2个回答
1
投票

Proguard可能存在错误。 https://sourceforge.net/p/proguard/bugs/607/很遗憾没有提供解决方案。我建议避免多次捕获,直到它被修复,如果可能的话。


0
投票

当有机会提出没有任何关系的异常(亲子)时,可以使用多捕获异常,例如IOExceptionArithmeticException以及NullPointerException。但你不能使用多捕获块,例如IOExceptionFileNotFoundException,因为IOExceptionFileNotFoundException的父级。

java7中给出了多捕获块,只是为了方便程序员。它不会影响执行时间。

© www.soinside.com 2019 - 2024. All rights reserved.