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

nathan·2022년 1월 24일
0

JAVA

목록 보기
26/45

프로그램 오류

  • 컴파일 에러(compile-time error) : 컴파일 할 때 발생하는 에러
  • 런타임 에러(runtime error) : 실행할 때 발생하는 에러
  • 논리적 에러(logical error) : 작성 의도와 다르게 동작

Compile-time error Example

public class ExceptionTest {
    public static void main(String[] args) {
        system.out.println(args[0]);
    }
}
  • 위와 같이 코드를 입력했더니 아래와 같이 컴파일 오류가 떴다.


Runtime error Example

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


Java의 런타임 에러(에러는 어쩔 수 없지만, 예외는 처리할 수 있다.)

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

예외처리(exception handling)의 정의와 목적

예외처리의 정의

  • 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것

예외처리의 목적

  • 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것

예외 클래스의 계층구조

  • Throable : 모든 오류의 조상 클래스

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

References

profile
나는 날마다 모든 면에서 점점 더 나아지고 있다.

0개의 댓글