dev_dbdb1114

Java 예외처리(예외의 구분과 분류) 본문

프로그래밍/JAVA

Java 예외처리(예외의 구분과 분류)

dbdb1114 2022. 5. 21. 12:37

프로그램 오류의 구분

- 컴파일 에러: 컴파일시 발생하는 에러, 일반적으로 컴파일러가 체크를 해준다. 

- 런타임 에러: 실행시에 발생하는 에러, 이를 대비하기 위해 자바에서는 error(에러)와 exception(예외)로 나눔.

   -error: 코드에 의해 수습될 수 없는 심각한 오류 ex)메모리 부족, 스택 오버플로우

   -exception: 코드에 의해 수습될 수 있는 다소 미약한 오류

- 논리적 에러: 실행은 되지만, 의도와 다르게 동작함

 

자바에서는 error와 exception을 클래스로 정의하였다.

모든 예외의 최고 조상은 ExceptionClass이며, 이러한 예외 클래스는 두 그룹으로 나뉜다.

 

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

ex)

- 존재하지 않는 파인의 이름을 입력(File Not Found Exception)

- 실수로 클래스의 이름을 잘못 적었을 때 (Class Not Found Exception)

- 입력한 데이터 형식이 잘못됨 (Data Format Exception)

RuntimeException 클래스들: 프로그래머의 실수로 발생하는 예외

ex)

- 배열의 범위를 벗어남 (ArrayIndexOutOfBoundsException)

- 값이 null인 참조변수의 멤버를 호출함 (Null Pointer Found Exception)

- 클래스간의 형변환을 잘못함 (Class Cast Exception)
- 정수를 0으로 나누려고함(Arithmetic Exception)

Comments