본문 바로가기
국비 학원 가서 개발새발

예습) 프로그램 오류(에러와 예외)

by 휴일이 2022. 10. 9.

프로그램 오류는 세 가지로 나뉜다

 

- 컴파일 에러 : 컴파일 시에 발생 -> 이클립스가 잡아주는 에러

- 런타임 에러 : 실행 시에 발생 -> 문제 없는 거 같은데 발생

- 논리적 에러 : 실행은 되는데, 의도와 다르게 동작 -> ^^....

 

 

컴파일이 잘 되었어도

실행 중 에러가 나서 잘못 된 결과를 얻거나

프로그램이 비정상적으로 종료 될 수 있음

 

 

런타임 에러는 두 가지로 나뉨

- 에러 (error) : 프로그램 코드로 수습 불가능한 심각한 오류

- 예외 (Exception) : 프로그램 코드로 수습 가능한 미약한 오류

 

에러 예) 메모리 부족(OutOfMemoryException) / 스택오버플로우(StackOverflow)

 

 

<예외 클래스 계층 구조> Exception과 Error

자바는 오류를 클래스로 정의한다, 그래서 최고 조상은 Object !!!

 

                                      --- Exception - RuntimeException, IOException....

Object ----Throwavle ----

                                      ㄴ Error - IOException, OOME ....

 

 

예외의 최고 조상은 Exception 클래스!

예외는 크게 두 부류로 나뉜다

1.Exception 클래스와 그 자손(직접 연결되어있음)

2.RuntimeException 클래스와 그 자손....

 

 

 

<Exception과 RuntimeException> - 오류의 두 분야?ㅎㅎ

Exception 클래스들 : 사용자의 실수 같은 외적인 요인으로 발생

RuntimeException 클래스들 : 프로그래머의 실수로 발생

 

- Runtime 예

ArrayIndexOutOfBonusException -> 배열 길이 벗어남 (가끔 보임ㅎㅎ)

NullPointException -> 값이 Null인 참조 변수에 멤버 호출 (얘 진짜 싫음 ㅎㅎ)

ClassCastException -> 클래스 형변환 잘못함 (다행히 처음봄 ㅎㅎ)

 

- Exception 예

FileNotFoundException -> 존재하지 않는 파일

ClassNotFoundException -> 실수로 클래스 이름 잘못 입력

DataFormatException -> 입력한 데이터 형식이 잘못 됨

 

728x90