Java Language Lancer une exception, s'il n'y a pas de valeur


Exemple

Utilisez la méthode orElseThrow() de Optional pour obtenir la valeur contenue ou lancer une exception, si elle n'a pas été définie. Ceci est similaire à l'appel de get() , sauf qu'il permet des types d'exceptions arbitraires. La méthode prend un fournisseur qui doit renvoyer l'exception à lancer.

Dans le premier exemple, la méthode renvoie simplement la valeur contenue:

Optional optional = Optional.of("something");

return optional.orElseThrow(IllegalArgumentException::new);
// returns "something" string

Dans le deuxième exemple, la méthode renvoie une exception car une valeur n'a pas été définie:

Optional optional = Optional.empty();

return optional.orElseThrow(IllegalArgumentException::new);
// throws IllegalArgumentException

Vous pouvez également utiliser la syntaxe lambda si une exception avec un message est nécessaire:

optional.orElseThrow(() -> new IllegalArgumentException("Illegal"));