런타임 예외는 발생할 때 프로그램 또는 애플리케이션이 충돌하거나 중단될 것으로 예상되는 Java 프로그래밍 언어의 모든 예외에 있는 상위 클래스입니다. 런타임 예외로 간주되지 않는 예외와 달리 런타임 예외는 확인되지 않습니다.
런타임 예외는 일반적으로 프로그램이 처리해야 하는 조건보다는 프로그래머의 오류를 표시합니다. 런타임 예외는 발생할 수 없는 조건에서도 사용됩니다. 프로그램에 메모리가 부족할 때 런타임 예외로 표시하는 대신 프로그램 오류가 발생한다는 점에 유의해야 합니다.
가장 일반적인 런타임 예외는 NullPointerException입니다. , ArrayIndexOutOfBoundsException 및 InvalidArgumentException . Java Virtual Machine은 처음 두 개의 런타임 예외를 발생시킵니다.
- NullPointerException 사용자가 null로 간주되는 특정 객체에 대해 일부 작업을 수행하거나 null 객체에 대한 일부 메소드를 호출할 때 Java 가상 머신에서 throw되는 예외입니다. 사용자는 이러한 종류의 예외를 처리하려고 해서는 안 됩니다. 문제를 패치할 뿐 완전히 수정하지는 않기 때문입니다.
- ArrayIndexOutOfBoundsException 특정 Java 프로그램이 존재하지 않는 집합의 특정 위치에 잘못 액세스하려고 할 때 Java Runtime Environment에서 자동으로 throw되는 예외입니다. 이것은 요청된 배열 인덱스가 음수이거나 배열 크기보다 크거나 같은 경우에 자주 발생합니다. Java 배열은 0부터 시작하는 인덱싱을 사용합니다. 따라서 해당 배열의 첫 번째 요소는 인덱스가 0이고 마지막 요소는 인덱스 크기가 1이며 n번째 요소는 인덱스가 n-1입니다.
- InvalidArgumentException 서버의 참조 연결에서 잘못된 매개변수가 특정 메소드에 전달될 때 발생하는 예외입니다.
예시
public class MyExceptionTest { public void testRuntimeException () { throw new MyException(); } public static void main(String[] args) { try { new MyExceptionTest().testRuntimeException(); } catch(Exception e) { System.out.println(e.getClass().getName()); } } } class MyException extends RuntimeException { public MyException() { super(); } }
출력
MyException