Użyłem catch-catch z wieloma wyjątkami, który działa dobrze w nierozfumowanej kompilacji, ale nie łapie wyjątku w zaciemnionej kompilacji.Catch z wieloma wyjątkami nie wychwytującymi wyjątków w zaciemnionej kompilacji
Używam PROGUARD-maven-plugin
try {
...
} catch (ServletException | IOException e){
...
}
Czy jest jakaś reguła PROGUARD muszę dodać do tego?
Ponieważ jej dobrze działać, gdy piszę kod jako
try {
...
} catch (ServletException e) {
...
} catch (IOException e) {
...
}
Proguard nie powinien mieć na to wpływu. Może to spowodowane przez coś niezwiązanego. Czy jesteś pewien, że te dwie kompilacje, które porównujesz, różnią się jedynie istnieniem progów i nie są używane? Czy robi to różnicę, jeśli masz dwa bloki catch dla każdego typu wyjątku? – michalsrb
Tak, dwie kompilacje porównują różnice tylko w proguardzie. I działa poprawnie, gdy piszę dwa bloki catch dla każdego wyjątku. – Gaurav
Czy próbowałeś dodać -keepattributes Wyjątki? Dokumenty mówią, że "Określa wyjątki, które może wyrzucić metoda." Kompilatory mogą wykorzystywać te informacje do wymuszania ich przechwytywania. " –