Java Language Getta un'eccezione, se non c'è valore

Esempio

Utilizzare il metodo orElseThrow() di Optional per ottenere il valore contenuto o generare un'eccezione, se non è stata impostata. È simile alla chiamata get() , tranne per il fatto che consente tipi di eccezioni arbitrarie. Il metodo accetta un fornitore che deve restituire l'eccezione da lanciare.

Nel primo esempio, il metodo restituisce semplicemente il valore contenuto:

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

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

Nel secondo esempio, il metodo genera un'eccezione perché non è stato impostato un valore:

Optional optional = Optional.empty();

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

È inoltre possibile utilizzare la sintassi lambda se è necessario lanciare un'eccezione con il messaggio:

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