El método orElseThrow(Supplier) de la clase OptionalLong se usa para obtener el valor largo contenido por OptionalLong. 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> long 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 // OptionalLong.orElseThrow(Supplier) method import java.util.OptionalLong; public class GFG { public static void main(String[] args) { // create a OptionalLong OptionalLong opLong = OptionalLong.of(894763545123L); // apply orElseThrow(Supplier) long value = opLong.orElseThrow(ArithmeticException::new); System.out.println("value " + value); } }
Producción:
Programa 2:
// Java program to demonstrate // OptionalLong.orElseThrow(Supplier) method import java.io.IOException; import java.util.OptionalLong; public class GFG { public static void main(String[] args) { // create a OptionalLong OptionalLong opLong = OptionalLong.empty(); // apply orElseThrow(Supplier) Long value; try { value = opLong.orElseThrow(ArithmeticException::new); } catch (ArithmeticException e) { // TODO Auto-generated catch block System.out.println("Exception " + e); } } }
Producción:
Referencias: https://docs.oracle.com/javase/10/docs/api/java/util/OptionalLong.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