[TIL] 221007 - 자바 : 예외처리

yujamint·2022년 10월 7일
0

TIL

목록 보기
7/9

예외처리

프로그램 실행시 발생할 수 있는 예외를 대비한 코드를 작성하는 것

예외를 활용하여 에러가 발생하고 프로그램이 종료되는 것을 막고 정상 실행 상태 유지가능하도록 한다.

Checked/Unchecked Exception

예외는 컴파일러가 무조건 체크하는 Checked Exception과 체크하지 않고 넘어가는 Unchecked Exception으로 나뉜다.

  • Checked Exception
    • RuntimeException을 상속하지 않는 예외이다.
    • 주로 외부 영향(프로그램 사용자들의 동작)으로 발생한다.
    • 더 엄격하게 처리해야 된다.
  • Unchecked Exception
    • RuntimeException을 상속하는 예외
    • 주로 프로그래머 실수(코드)에 의해 발생한다.
    • 예외 처리 코드를 강제하지 않는다.

예외의 상속 관계

try-catch문을 작성할 때, 부모 클래스(예외)를 가장 먼저 catch하면 자식 클래스(예외) 객체까지 모두 catch하여 명확한 예외 원인을 알 수 없게 된다.

→ 가장 하위(자식) 클래스부터 먼저 catch한다.

‘throws’ vs ‘throw’

throws : 명시해놓은 예외가 발생하면, 해당 예외를 내부에서 처리하지 않고 외부로 던져서 외부에서 처리하도록 한다.

throw : 특정 예외를 임의로 발생시킨다.

profile
개발 기록

0개의 댓글