Я переопределяю метод, предоставленный сторонним классом библиотеки, и пытаюсь записать возникающие исключения:
@Override
someJavaMethod(arg1, arg2, Exception ex){
//Declare some variables with default values
if (ex instanceof SpecificException1)
//Set values for the variables
else if (ex instanceof SpecificException2)
//Set some other values for the variables
else
//Do nothing
}
Проблема в том, что SpecificException1
и SpecificException2
являются сторонними исключениями, и я не могу их изменить.
Я понимаю, что использование instanceof
не лучший способ справиться с этим. Какой шаблон проектирования / принципы ОО мне следует использовать для этого?
(Кроме того, мне посоветовали увидеть шаблон проектирования посетителя и ациклического посетителя, но я не уверен, что его можно применять к классам, которые нельзя изменить)