Java : Error 示例

Java 中的 Error (Java SE 23 & JDK 23) 及其示例。
您将找到大多数 Error 方法的代码示例。

注解 :

  • 本文可能使用了翻译软件以方便阅读。 另请查看英文原文

简介

Error 是 Throwable 的一个子类,表示应用程序不应该尝试捕获的严重问题。大多数此类错误都是异常情况。 (机器翻译)

Class diagram

try {
    final var array = new int[1000000000];
} catch (Error e) {
    System.out.println(e);
}

// Result
// ↓
//java.lang.OutOfMemoryError: Java heap space

Constructors

Error ()

构造一个新的错误,以 null 作为其详细消息。 (机器翻译)

final var e = new Error();
System.out.println(e); // java.lang.Error

Error (String message)

使用指定详细消息构造一个新的错误。 (机器翻译)

final var e = new Error("abcd");
System.out.println(e); // java.lang.Error: abcd
System.out.println(e.getMessage()); // abcd

Error (String message, Throwable cause)

使用指定的详细消息和原因构造一个新错误。 (机器翻译)

final var cause = new Error("XYZ");
final var e = new Error("abcd", cause);

System.out.println(e); // java.lang.Error: abcd
System.out.println(e.getMessage()); // abcd

System.out.println(e.getCause()); // java.lang.Error: XYZ
System.out.println(e.getCause().getMessage()); // XYZ

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

使用指定的详细消息、原因、启用或禁用的抑制以及启用或禁用的可写堆栈跟踪构造一个新的错误。 (机器翻译)

@SuppressWarnings("serial")
class SampleError extends Error {
    SampleError(String message, Throwable cause,
                boolean enableSuppression, boolean writableStackTrace) {
        super(message, cause, enableSuppression, writableStackTrace);
    }
}
final var cause = new Error("XYZ");
final var e = new SampleError("abcd", cause, true, true);

System.out.println(e); // SampleError: abcd
System.out.println(e.getCause()); // java.lang.Error: XYZ

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

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

System.out.println(e.getStackTrace().length > 0); // true
// enableSuppression = false
final var cause = new Error("XYZ");
final var e = new SampleError("abcd", cause, false, true);

System.out.println(e); // SampleError: abcd
System.out.println(e.getCause()); // java.lang.Error: XYZ

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

System.out.println(e.getStackTrace().length > 0); // true
// writableStackTrace = false
final var cause = new Error("XYZ");
final var e = new SampleError("abcd", cause, true, false);

System.out.println(e); // SampleError: abcd
System.out.println(e.getCause()); // java.lang.Error: XYZ

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

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

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

Error (Throwable cause)

使用指定的原因和详细消息(cause==null ? null : cause.toString())(通常包含原因的类和详细消息)构造一个新错误。 (机器翻译)

final var cause = new Error("XYZ");
final var e = new Error(cause);

System.out.println(e); // java.lang.Error: java.lang.Error: XYZ
System.out.println(e.getMessage()); // java.lang.Error: XYZ

System.out.println(e.getCause()); // java.lang.Error: 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

请参阅下面的链接。


相关文章

To top of page