Notice
Recent Posts
Recent Comments
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

프로그램 오류, 예외 클래스의 계층구조 본문

Java/JAVA2

프로그램 오류, 예외 클래스의 계층구조

빌드이너프 2023. 6. 19. 15:44

프로그램 오류

컴파일 에러(compile-time error): 컴파일할 때 발생하는 에러

런타임 에러(runtime error): 실행 할 때 발생하는 에러

논리적 에러(logical error): 작성 의도와 다르게 동작

 

 

컴파일 에러

자바 컴파일러 하는 일

1. 구문 체크

2. 번역

3. 소스코드 최적화

public class ExceptionTest {
    public static void main(String[] args) {
        system.out.println(args[0]); // 에러, System
    }
}

 

 

런타임 에러

실행 중 에러 발생

public class ExceptionTest {
    public static void main(String[] args) {
        System.out.println(args[0]);
    }
}

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
 at ExceptionTest.main(ExceptionTest.java:3)

 

java의 런타임 에러

에러(error)은  어쩔 수 없지만, 예외(exception)는 처리하자

에러(error) 프로그램 코드에 의해서 수습될 수 없는 심각한 오류
예외(exception) 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류

 

예외처리의 정의와 목적

정의 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것
목적 프로그램의 비정상 종료를 막고, 정상적인 실행 상태를 유지하는 것

 

 

예외 클래스의 계층 구조

상속 계층도

Object: 최고 조상

Throwable: 클래스, 모든 오류의 조상

 

 

ExceptionRuntimeException

Exception 클래스들 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외
RuntimeException 클래스들 프로그래머의 실수로 발생하는 예외

'Java > JAVA2' 카테고리의 다른 글

printStackTrace(), getMessage()  (0) 2023.06.22
예외 처리하기, try-catch문  (0) 2023.06.20
익명 클래스(anonymous class)  (0) 2023.06.19
내부 클래스의 제어자와 접근성  (0) 2023.06.18
내부 클래스(inner class)  (0) 2023.06.17