El método orElseThrow(Supplier) de la clase OptionalDouble utilizado para obtener el valor contenido por OptionalDouble. Si hay un valor presente, este método devuelve el valor; de lo contrario, este método lanza una excepción producida por la función de suministro de excepciones. La función Proveedor de excepción se pasa como un parámetro.
Sintaxis:
public <X extends Throwable> double orElseThrow(Supplier<X> exceptionSupplier) throws X extends Throwable
Parámetros: este método acepta un parámetroExceptionSupplier, que es la función de suministro que produce una excepción que se lanzará.
Valor devuelto: este método devuelve el valor, si está presente.
Excepción: este método arroja las siguientes excepciones:
- X: si no hay ningún valor presente.
- NullPointerException: si no hay ningún valor presente y la función de suministro de excepciones es nula
- X se extiende arrojable
Los siguientes programas ilustran el método orElseThrow (proveedor):
Programa 1:
// Java program to demonstrate // OptionalDouble.orElseThrow(Supplier) method import java.util.OptionalDouble; public class GFG { public static void main(String[] args) { // create a OptionalDouble OptionalDouble opDouble = OptionalDouble.of(0.268924); // apply orElseThrow(Supplier) double value = opDouble.orElseThrow(ArithmeticException::new); System.out.println("value " + value); } }
Producción:
Programa 2:
// Java program to demonstrate // OptionalDouble.orElseThrow(Supplier) method import java.io.IOException; import java.util.OptionalDouble; public class GFG { public static void main(String[] args) { // create a OptionalDouble OptionalDouble opDouble = OptionalDouble.empty(); // apply orElseThrow(Supplier) double value; try { value = opDouble.orElseThrow(IOException::new); } catch (IOException e) { System.out.println("Exception " + e); } } }
Producción:
Referencias: https://docs.oracle.com/javase/10/docs/api/java/util/OptionalDouble.html#orElseThrow(java.util.function.Supplier)
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA