HOWTO · Java

Java에서 런타임 예외 발생

이 튜토리얼은 Java에서 런타임 예외를 발생시키는 방법을 보여줍니다.

이 튜토리얼은 Java에서 런타임 예외를 발생시키는 방법을 보여줍니다.

Java에서 런타임 예외 발생

런타임 예외는 발생 시 프로그램 충돌 또는 중단을 유발하는 모든 Java 예외에 대한 상위 클래스입니다. 런타임 예외는 확인되지 않습니다.

런타임 예외는 프로그래머의 오류를 표시하는 데 사용됩니다. 이러한 예외는 조건이 발생할 수 없는 경우에도 사용할 수 있습니다.

Java에는 다음과 같이 가장 많이 사용되는 내장 런타임 예외가 있습니다.

  1. ArrayIndexOutOfBoundsException - 이 런타임 예외는 존재하지 않는 배열의 인덱스에 액세스하려고 할 때 발생합니다.
  2. InvalidArgumentException - 이 런타임 예외는 서버 연결의 메서드에 잘못된 인수를 전달하려고 할 때 발생합니다.
  3. NullPointerException - 이 런타임 예외는 코드에서 null 값에 액세스하거나 사용하려고 할 때 발생합니다.

위의 예외는 Java의 기본 제공 런타임 예외 중 일부에 불과합니다. Java에는 런타임 예외를 생성하는 기능도 있습니다.

런타임 예외를 생성하고 코드에 던지는 방법을 살펴보겠습니다.

  1. RuntimeException을 확장하는 클래스를 생성합니다.
  2. 런타임 예외가 발생할 때 자동으로 실행될 생성자 메서드를 클래스에 만듭니다.
  3. 런타임 예외를 발생시키기 위해 드라이버 클래스로 사용될 다른 클래스를 만듭니다.

위의 시나리오를 Java로 구현해 봅시다.

package delftstack;

class DemoException extends RuntimeException {
  public DemoException() {
    System.out.println("This is the Demo Runtime Exception!");
  }
}

public class Example {
  public void Throw_RuntimeException() {
    throw new DemoException();
  }
  public static void main(String[] args) {
    try {
      new Example().Throw_RuntimeException();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

위의 코드는 RuntimeException을 확장하여 사용자 정의 예외를 생성하고 드라이버 클래스는 이를 발생시킵니다. 출력 참조:

This is the Demo Runtime Exception!
delftstack.DemoException
	at delftstack.Example.Throw_RuntimeException(Example.java:11)
	at delftstack.Example.main(Example.java:15)