본문 바로가기
[JAVA]/JAVA 기본

[JAVA] 예외 처리 정리

by 황원용 2022. 9. 14.
728x90

예외처리(Exception Handing)

  •  예외처리는 에러로 인한 프로그램의 종료를 방지하고, 정상적으로 실행시키기 위해 사전에 미리 코드를 작성하여 대응하는 것을 말한다.

 

에러(Error)

  •  자바에서 에러는 논리적 오류로 인한 논리적 에러(Logicla Error)와 발생 시점에 따른 컴파일 에러(Compile Time Error), 런타임 에러(Run Time Error)로 구분된다.

 

컴파일 에러

  •  컴파일할 때 발생하는 에러로, 문법적인 문제인 신텍스(syntax) 오류로 인해 발생하기 때문에 신텍스 에러(Syntax Error)라고 부르기도 한다. 일반적으로 IDE에서 런타임 실행 전에 에러를 자동으로 찾아 알려주기 때문에 쉽게 수정할 수 있다.

 

런타임 에러

  •  런타임 시에 발생하는 에러이다. 프로그램이 실행되면 JVM에 의해 감지된다.

 

 

에러와 예외

  •  에러란 한 번 발생하면 복구하기 어려운 수준의 오류를 뜻하며, 대표적으로 메모리 부족(OutOfMemoryError)과 스택오버플로우(StackOverflowError) 등이 있다.
  •  예외는 잘못된 사용이나 코딩으로 인한 미약한 수준의 오류로, 코드 수정을 통해 수습이 가능한 오류를 뜻합니다.

 

<예외 클래스의 상속 계층도>

일반 예외 클래스(Exception)

  •  런타임 시 발생하는 RuntimeException 클래스와 그 하위 클래스를 제외한 모든 Exception 클래스와 그 하위 클래스를 가리킨다. 컴파일러가 코드 실행 전에 예외 처리 코드 여부를 검사하기 때문에 checked 예외라고 부른다. 

 

실행 예외 클래스(Runtime Exception)

  •  런타임 시 발생하는 RuntimeException 클래스와 그 하위 클래스를 가리킨다. 컴파일러가 예외 처리 코드 여부를 검사하지 않기 때문에 unchecked 예외라고 부른다.

 

728x90

'[JAVA] > JAVA 기본' 카테고리의 다른 글

[JAVA] 애너테이션(Annotation)  (0) 2022.09.15
[JAVA] 컬렉션 프레임워크  (0) 2022.09.14
[JAVA] 제네릭 & 와일드 카드  (0) 2022.09.14
[JAVA] 열거형  (0) 2022.09.13
[JAVA] 래퍼 클래스(Wrapper Class)  (0) 2022.09.13