프로그램 오류의 종류
컴파일 에러 : 컴파일 할 때 발생하는 에러
런타임 에러 : 실행 할 때 발생하는 에러
논리적 에러 : 작성 의도와 다르게 동작
- 자바 컴파일러 :
1) 구문체크
2) 번역
3) 최적화
4) 생략된 코드 추가
* 도스창(CUI)도 틈틈히 적응하기
* 컴파일 에러 : 컴파일 시 발생 에러
* 런타임 에러 : 실행 시 발생 에러
* 논리적 에러 : 작성 의도와 다르게 동작(예를 들어 비행선이 미사일을 맞고 터지지 않을 때, 마이너스 재고 등)
- Java runtime error
1) 에러(error) : 프로그램 코드에 의해 수습될 수 없는 심각한 오류 ex) OutOfMemory Error
2) 예외(exception) : 프로그램 코드에 의해 수습될 수 있는 다소 미약한 오류
에러는 어쩔 수 없지만, 예외는 처리하자.
- 예외처리의 정의와 목적
* 정의 : 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것
* 목적 : 프로그램의 비정상 종료를 막고 정상적인 실행상태를 유지 유지하는 것
예외 클래스의 계층 구조
Exception 클래스를 크게 두가지로 나눌 수 있다.
- 1) Exception 클래스와 자손들 : 사용 자의 실수와 같은 외적인 요인에 의해 발생하는 예외 ex) 입출력예외
- 2) RuntimeException클래스와 자손들: 프로그래머의 실수로 발생하는 예외
checked 예외, unchecked 예외
checked예외 : 컴파일러가 예외 처리 여부를 체크, 예외 처리가 필수적(try-catch 필수)
Exception과 그 자손들
unchecked예외 : 컴파일러가 예외 처리 여부를 체크 안함, 예외 처리가 선택적(try-catch )
RuntimeException과 자손
컴파일러가 예외처리를 했는지 확인하지 않기 때문 예외처리가 선택적
'Java' 카테고리의 다른 글
[JAVA] String 클래스 (0) | 2023.10.31 |
---|---|
[JAVA] Object 클래스 (0) | 2023.10.28 |
[JAVA] 내부 클래스(Inner Class) (0) | 2023.10.25 |
[JAVA] 인터페이스(Interface) (1) | 2023.09.19 |
[JAVA] 추상 클래스(Abstract class) (0) | 2023.09.02 |