Возможно ли, что условие «Мой код», указанное ниже, будет выполнено (true)?Я считаю, что нет, потому что getRootCause
возвращает объект, приведенный к Throwable
.Поэтому следует проверить, является ли Throwable
подтипом MyOwnException
, что не соответствует действительности.Так что, в общем, это неправильный способ использовать getRootCause
для обработки исключений, не так ли?
MyOwnException part
public class MyOwnException extends Exception {
// ....
}
Apache's ExceptionUtils.getRootCause
public static Throwable getRootCause(Throwable throwable) {
List list = getThrowableList(throwable);
return (list.size() < 2 ? null : (Throwable)list.get(list.size() - 1));
}
Мой код
try {
// do something
} catch (Exception e) {
try {
Throwable exc = ExceptionUtils.getRootCause(e);
if (exc instanceof MyOwnException) {
// do something
}
}
}