The orElseThrow(Supplier) method of OptionalInt class used to get the value contained by OptionalInt. If a value is present, this method returns the value, otherwise, this method throws an exception produced by the exception supplying function. The exception Supplier function is passed as a parameter.
Syntax:
public <X extends Throwable> int orElseThrow(Supplier<?X> exceptionSupplier) throws X extends Throwable
Parameters: This method accepts one parameter exceptionSupplier which is the supplying function that produces an exception to be thrown.
Return value: This method returns the value, if present.
Exception: This method throw following Exceptions:
- X – if no value is present.
- NullPointerException – if no value is present and the exception supplying function is null
- X extends Throwable
Below programs illustrate orElseThrow(Supplier) method:
Program 1:
// Java program to demonstrate // OptionalInt.orElseThrow(Supplier) method import java.util.OptionalInt;   public class GFG {       public static void main(String[] args)     {           // create a OptionalInt         OptionalInt opint             = OptionalInt.of( 24 );           // apply orElseThrow(Supplier)         int value             = opint.orElseThrow(ArithmeticException:: new );           System.out.println( "value " + value);     } } |
Output:
Program 2:
// Java program to demonstrate // OptionalInt.orElseThrow(Supplier) method import java.io.IOException; import java.util.OptionalInt;   public class GFG {       public static void main(String[] args)     {           // create a OptionalInt         OptionalInt opint             = OptionalInt.empty();           // apply orElseThrow(Supplier)         int value;           try {               value                 = opint.orElseThrow(IOException:: new );         }         catch (IOException e) {               System.out.println( "Exception " + e);         }     } } |
Output: