Throwable addSuppressed(Throwable) in Java

addSuppressed(Throwable): This method is available in the java.lang.Throwable class of Java.

Syntax:

void java.lang.Throwable.addSuppressed(Throwable exception)

This method takes one argument. This method appends the specified exception to the exceptions that were suppressed in order to deliver this exception. This method is thread-safe and typically called (automatically and implicitly)by the try-with-resources statement.

The suppression behavior is enabled unless disabled via a constructor. When suppression is disabled, this method does nothing other than validating its argument.

Parameters: One parameter is required for this method.

exception: the exception to be added to the list of suppressed exceptions.

Returns: NA

Throws:

1. IllegalArgumentException - if the exception is this throwable; a throwable cannot suppress itself.

2. NullPointerException - if an exception is null.

Approach 1: When no exception

Java

public class ThrowableaddSuppressed {
    public static void main(String[] args) {

        String message = "Hello";
        Throwable throwable = new Throwable(message);
        Throwable exception = new NullPointerException();
        throwable.addSuppressed(exception);
        System.out.println(throwable);
    }
}

Output:

java.lang.Throwable: Hello


Approach 2: NullPointerException

Java

package com.Throwable;

public class ThrowableaddSuppressed {
    public static void main(String[] args) {

        String message = "Hello";
        Throwable throwable = new Throwable(message);
        Throwable exception = null;
        throwable.addSuppressed(exception);
        System.out.println(throwable);
    }
}

Output:

Exception in thread "main" java.lang.NullPointerException: Cannot suppress a null exception. at java.base/java.util.Objects.requireNonNull(Objects.java:233) at java.base/java.lang.Throwable.addSuppressed(Throwable.java:1068) at com.Throwable.ThrowableaddSuppressed.main(ThrowableaddSuppressed.java:9)


Some other methods of Throwable

Throwable()Constructs a new throwable with null as its detail message.

Throwable(String)This method constructs a new throwable with the specified detail message.

Throwable(Throwable)This method constructs a new throwable with the specified cause and a detailed message of (cause==null ? null: cause.toString()) (which typically contains the class and detailed message of cause).

Throwable(String, Throwable)This method constructs a new throwable with the specified detail message and cause.

addSuppressed(Throwable)This method appends the specified exception to the exceptions that were suppressed in order to deliver this exception.

fillInStackTrace()This method records within this Throwable object information about the current state of the stack frames for the current thread.

getCause()Returns the cause of this throwable or null if the cause is nonexistent or unknown. (The cause is the throwable that caused this throwable to get thrown.)

getLocalizedMessage()Creates a localized description of this throwable.

getMessage()Returns the detailed message string of this throwable.

getStackTrace()Returns an array of stack trace elements, each representing one stack frame.

getSuppressed()Returns an array containing all of the exceptions that were suppressed, typically by the try-with-resources statement, in order to deliver this exception.

initCause(Throwable)This method initializes the cause of this throwable to the specified value. (The cause is the throwable that caused this throwable to get thrown.)

printStackTrace()Prints this throwable and its backtrace to the standard error stream.

printStackTrace(PrintStream)This method prints this throwable and its backtrace to the specified print stream.

printStackTrace(PrintWriter)This method prints this throwable and its backtrace to the specified print writer.

setStackTrace(StackTraceElement[])his method sets the stack trace elements that will be returned by getStackTrace() and printed by printStackTrace() and related methods.

toString()Returns a short description of this throwable.

No comments:

Post a Comment