Как использовать Smallrye Mutiny для вызова метода void, который выдает проверенные исключенияJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как использовать Smallrye Mutiny для вызова метода void, который выдает проверенные исключения

Сообщение Anonymous »


При использовании Smallrye Mutiny для обработки исключений императивный код становится более гибким. Я даже могу вызывать методы, которые выдают проверенные исключения, используя для их обработки Unchecked.supplier():

LifecycleConfiguration lifecycleConfiguration = Uni.createFrom().item(Unchecked.supplier(() -> minioClient.getBucketLifecycle(GetBucketLifecycleArgs.builder().bucket(bucketName).build()))) .onFailure().transform(e -> new CommonSystemErrorException("Не удалось получить конфигурацию жизненного цикла корзины MinIO", e)) .await().на неопределенный срок(); Однако я не могу применить тот же подход к методам, которые генерируют проверенные исключения и возвращают void. Например, рассмотрим следующий метод:

public void setBucketLifecycle(SetBucketLifecycleArgs args) выдает ErrorResponseException, InsufficientDataException, InternalException, InvalidKeyException, InvalidResponseException, IOException, NoSuchAlgorithmException, ServerException, XmlParserException { пытаться { this.asyncClient.setBucketLifecycle(args).get(); } catch (InterruptedException var3) { выбросить новое RuntimeException(var3); } catch (ExecutionException var4) { this.asyncClient.throwEncapsulatedException(var4); } } Если я напишу код ниже, IDE выдаст оповещения в двух местах:

// Предупреждения vvvv IDE: невозможно разрешить метод 'item(Supplier)' Uni.createFrom().item(Unchecked.supplier(() -> minioClient.setBucketLifecycle(SetBucketLifecycleArgs.builder().config(lifecycleConfiguration).bucket(bucketName).build()))) // ^^^^ Предупреждения IDE: неверный тип возвращаемого значения в лямбда-выражении: void невозможно преобразовать в T .onFailure().transform(e -> new CommonSystemErrorException("Не удалось установить конфигурацию жизненного цикла сегмента MinIO", e)) .await().на неопределенный срок(); Возможно ли, что я могу вызывать методы, которые генерируют проверенные исключения и возвращают void, используя Smallrye Mutiny, без дополнительного использования try и catch?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как использовать Smallrye Mutiny для вызова метода void, который выдает проверенные исключения
    Гость » » в форуме JAVA
    0 Ответы
    42 Просмотры
    Последнее сообщение Гость
  • Как использовать аннотацию SmallRye Fault Tolerance @Ready с Smallrye Mutiny?
    Anonymous » » в форуме JAVA
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Как использовать аннотацию SmallRye Fault Tolerance @Ready с Smallrye Mutiny?
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как использовать аннотацию SmallRye Fault Tolerance @Ready с Smallrye Mutiny?
    Anonymous » » в форуме JAVA
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Неверное преобразование из «void*» в «void*(*) (void*)’ c ++?
    Anonymous » » в форуме C++
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»