У меня есть набор веб-сервисов, которые перехвачены Аспектом с @AfterThrowing.Реализации веб-сервисов сделаны в Kotlin, но они основаны на сгенерированном коде Java.
Итак, у меня есть интерфейс Java и класс Kotlin, реализующий интерфейс.Когда генерируется код, я хочу вместо этого генерировать определенную ошибку в интерфейсе Java (SomeFault):
public SomeResponseType methodName() throws SomeFault
Если бы все было в Java, это можно было бы сделать довольно легко, например:
MethodSignature methodSignature = (MethodSignature) joinPoint.getStaticPart().getSignature();
Class<? extends Exception>[] declaredExceptions = methodSignature.getExceptionTypes();
... а затем просто выполните конструктор declaredExceptions[0]
Но когда я делаю нечто подобное в Kotlin, кажется, что я не могу найти исключения, объявленные в интерфейсе Java:
val declaredExceptions = methodSignature.exceptionTypes
... дает мне пустой список
вопрос: Как найти исключения, объявленные в интерфейсе Java, при перехвате класса Kotlin, реализующего этот интерфейс?