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