프로그램 오류
- 컴파일 에러(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)의 정의와 목적
예외처리의 정의
- 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것
예외처리의 목적
- 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것
예외 클래스의 계층구조
- Exception 클래스들 : 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외
- RuntimeException 클래스들 : 프로그래머의 실수로 발생하는 예외
References