InternalError — JVM 내부에서 예상치 못한 오류가 발생했을 때

InternalError — JVM 내부에서 예상치 못한 오류가 발생했을 때

InternalError는 Java Virtual Machine 내부에서 예기치 않은 내부 오류(unexpected internal error) 가 발생했을 때 던져지는 에러예요. "우리 라이브러리나 코드 문제가 아니라 JVM 자체가 이상하다"는 신호로 보면 돼요.

출처: Java API Reference

본문

이 에러는 보통 JVM 자체의 결함이나 특이한 런타임 상태에서 나오기 때문에, 일반적인 애플리케이션 코드에서 직접 만날 일은 드물어요. 대표적인 하위 클래스로 압축(zip) 처리 중 문제가 생길 때 나오는 ZipError가 있어요.

상속 구조는 다음과 같아요.

java.lang.Object
  java.lang.Throwable
    java.lang.Error
      java.lang.VirtualMachineError
        java.lang.InternalError

VirtualMachineError의 하위 클래스에요.

생성자

  • InternalError() — 상세 메시지 없이 생성해요.
  • InternalError(String message) — 지정된 상세 메시지로 생성해요.
  • InternalError(String message, Throwable cause) — 상세 메시지와 원인을 함께 지정해요. 원인의 메시지는 자동으로 합쳐지지 않아요 (1.8부터).
  • InternalError(Throwable cause) — 원인만 지정하고, 메시지는 cause == null ? null : cause.toString() 형태로 생성해요 (1.8부터).

더 알아보기 (Learn more)