Такое ощущение, что это должно быть просто, поэтому я могу упустить что-то очевидное.У меня есть простой пример случая, когда у меня есть ошибка Mono, и я хотел бы иметь специфичную для класса исключения обработку с универсальным обработчиком.
Mono.error(new RuntimeException())
.doOnError(RuntimeException.class, e -> System.out.println("Caught RuntimeException"))
.doOnError(Throwable.class, e -> System.out.println("Caught Throwable"))
.block();
output: Caught RuntimeException
Caught Throwable
Проблема состоит в том, что оба потребителя будут вызваны (тот, у которогоRuntimeException и общий с Throwable).Есть ли (чистый) способ избежать вызова общего, если более конкретный уже был вызван?