Вы можете поймать ReflectiveOperationException
Это супер тип:
- ClassNotFoundException
- IllegalAccessException
- InstantiationException
- InvocationTargetException
- NoSuchFieldException
- NoSuchMethodException
Что означает, что вам просто нужно:
} catch (ReflectiveOperationException | SecurityException | IllegalArgumentException ex) {
Logger.getLogger(FiltersBuilder.class.getName()).log(Level.SEVERE, null, ex);
return null;
}
Поскольку SecurityException
& IllegalArgumentException
фактически являются исключениями времени выполнения, вы можете:
} catch (ReflectiveOperationException ex) {
Logger.getLogger(FiltersBuilder.class.getName()).log(Level.SEVERE, null, ex);
return null;
}
, если вы в порядке с RuntimeException
, распространяющимся на абонентов.