Class Try.Failure<T>

  • Type Parameters:
    T - the type of the value that would have been contained if successful
    All Implemented Interfaces:
    Try<T>, Value<T>, java.io.Serializable, java.lang.Iterable<T>
    Enclosing interface:
    Try<T>

    public static final class Try.Failure<T>
    extends java.lang.Object
    implements Try<T>, java.io.Serializable
    Represents a failed Try containing a Throwable as the cause.

    Instances of this class indicate that the computation threw an exception and do not contain a successful value.

    
     Try<Integer> failure = new Try.Failure<>(new RuntimeException("error"));
     failure.isFailure();  // true
     failure.getCause();   // RuntimeException: error
     
    See Also:
    Serialized Form
    • Field Detail

      • cause

        private final java.lang.Throwable cause
    • Constructor Detail

      • Failure

        private Failure​(java.lang.Throwable cause)
        Constructs a Failure.
        Parameters:
        cause - A cause of type Throwable, may not be null.
        Throws:
        java.lang.NullPointerException - if cause is null. Additionally, if the given cause is fatal (i.e. non-recoverable), it is thrown sneakily without being declared in the method signature.
    • Method Detail

      • get

        public T get()
        Description copied from interface: Try
        Returns the value of this Try if it is a Try.Success, or throws the underlying exception if it is a Try.Failure.

        Important: If this Try is a Try.Failure, the exception thrown is exactly the Try.getCause() of this Failure. The underlying cause is thrown sneakily (without being declared in the method signature).

        Specified by:
        get in interface Try<T>
        Specified by:
        get in interface Value<T>
        Returns:
        the value contained in this Success
      • getCause

        public java.lang.Throwable getCause()
        Description copied from interface: Try
        Returns the cause of failure if this Try is a Try.Failure.
        Specified by:
        getCause in interface Try<T>
        Returns:
        the throwable cause of this Try.Failure
      • isEmpty

        public boolean isEmpty()
        Description copied from interface: Try
        Checks whether this Try contains no value, i.e., it is a Try.Failure.
        Specified by:
        isEmpty in interface Try<T>
        Specified by:
        isEmpty in interface Value<T>
        Returns:
        true if this is a Try.Failure, false if this is a Try.Success
      • equals

        public boolean equals​(java.lang.Object obj)
        Description copied from interface: Value
        Clarifies that values have a proper equals() method implemented.

        See Object.equals(Object).

        Specified by:
        equals in interface Try<T>
        Specified by:
        equals in interface Value<T>
        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - An object
        Returns:
        true, if this equals o, false otherwise
      • stringPrefix

        public java.lang.String stringPrefix()
        Description copied from interface: Value
        Returns the name of this Value type, which is used by toString().
        Specified by:
        stringPrefix in interface Value<T>
        Returns:
        This type name.
      • hashCode

        public int hashCode()
        Description copied from interface: Value
        Clarifies that values have a proper hashCode() method implemented.

        See Object.hashCode().

        Specified by:
        hashCode in interface Try<T>
        Specified by:
        hashCode in interface Value<T>
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        The hashcode of this object
      • toString

        public java.lang.String toString()
        Description copied from interface: Value
        Clarifies that values have a proper toString() method implemented.

        See Object.toString().

        Specified by:
        toString in interface Try<T>
        Specified by:
        toString in interface Value<T>
        Overrides:
        toString in class java.lang.Object
        Returns:
        A String representation of this object