Java : RuntimeException with Examples

RuntimeException (Java SE 21 & JDK 21) with Examples.
You will find code examples on most RuntimeException methods.


Summary

RuntimeException is the superclass of those exceptions that can be thrown during the normal operation of the Java Virtual Machine.

Class diagram

Code examples on this page uses the SampleRuntimeException class below.

@SuppressWarnings("serial")
public class SampleRuntimeException extends RuntimeException {

    public SampleRuntimeException() {
    }

    public SampleRuntimeException(String message) {
        super(message);
    }

    public SampleRuntimeException(String message, Throwable cause) {
        super(message, cause);
    }

    public SampleRuntimeException(Throwable cause) {
        super(cause);
    }

    public SampleRuntimeException(String message, Throwable cause,
                                  boolean enableSuppression,
                                  boolean writableStackTrace) {
        super(message, cause, enableSuppression, writableStackTrace);
    }
}
public class Main {

    public static void main(String[] args) {
        try {
            func1();
        } catch (SampleRuntimeException ex) {

            final RuntimeException e = ex;
            e.printStackTrace();

            // Result
            // ↓
            //SampleRuntimeException
            //	at Main.func2 ...
            //	at Main.func1 ...
            //	at Main.main ...
            // ...
        }
    }

    private static void func1() {
        func2();
    }

    private static void func2() {
        throw new SampleRuntimeException();
    }
}

Constructors

RuntimeException ()

Constructs a new runtime exception with null as its detail message.

final RuntimeException e = new SampleRuntimeException();
System.out.println(e); // SampleRuntimeException

RuntimeException (String message)

Constructs a new runtime exception with the specified detail message.

final RuntimeException e = new SampleRuntimeException("abcde");
System.out.println(e); // SampleRuntimeException: abcde
System.out.println(e.getMessage()); // abcde

RuntimeException (String message, Throwable cause)

Constructs a new runtime exception with the specified detail message and cause.

final RuntimeException cause = new SampleRuntimeException("XYZ");
final RuntimeException e = new SampleRuntimeException("abcde", cause);

System.out.println(e); // SampleRuntimeException: abcde
System.out.println(e.getMessage()); // abcde

System.out.println(e.getCause()); // SampleRuntimeException: XYZ
System.out.println(e.getCause().getMessage()); // XYZ

RuntimeException (String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace)

Constructs a new runtime exception with the specified detail message, cause, suppression enabled or disabled, and writable stack trace enabled or disabled.

final RuntimeException cause = new SampleRuntimeException("XYZ");
final RuntimeException e = new SampleRuntimeException("abcde", cause, true, true);

System.out.println(e); // SampleRuntimeException: abcde
System.out.println(e.getCause()); // SampleRuntimeException: XYZ

e.addSuppressed(new SampleRuntimeException("E1"));
e.addSuppressed(new SampleRuntimeException("E2"));

// [SampleRuntimeException: E1, SampleRuntimeException: E2]
System.out.println(Arrays.toString(e.getSuppressed()));

System.out.println(e.getStackTrace().length > 0); // true
// enableSuppression = false
final RuntimeException cause = new SampleRuntimeException("XYZ");
final RuntimeException e = new SampleRuntimeException("abcde", cause, false, true);

System.out.println(e); // SampleRuntimeException: abcde
System.out.println(e.getCause()); // SampleRuntimeException: XYZ

e.addSuppressed(new SampleRuntimeException("E1"));
e.addSuppressed(new SampleRuntimeException("E2"));
System.out.println(Arrays.toString(e.getSuppressed())); // []

System.out.println(e.getStackTrace().length > 0); // true
// writableStackTrace = false
final RuntimeException cause = new SampleRuntimeException("XYZ");
final RuntimeException e = new SampleRuntimeException("abcde", cause, true, false);

System.out.println(e); // SampleRuntimeException: abcde
System.out.println(e.getCause()); // SampleRuntimeException: XYZ

e.addSuppressed(new SampleRuntimeException("E1"));
e.addSuppressed(new SampleRuntimeException("E2"));

// [SampleRuntimeException: E1, SampleRuntimeException: E2]
System.out.println(Arrays.toString(e.getSuppressed()));

System.out.println(e.getStackTrace().length); // 0

RuntimeException (Throwable cause)

Constructs a new runtime exception with the specified cause and a detail message of (cause==null ? null : cause.toString()) (which typically contains the class and detail message of cause).

final RuntimeException cause = new SampleRuntimeException("XYZ");
final RuntimeException e = new SampleRuntimeException(cause);

System.out.println(e); // SampleRuntimeException: SampleRuntimeException: XYZ
System.out.println(e.getMessage()); // SampleRuntimeException: XYZ

System.out.println(e.getCause()); // SampleRuntimeException: XYZ
System.out.println(e.getCause().getMessage()); // XYZ

Methods declared in Throwable

addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString

Please see the link below.


Related posts

To top of page