[Java] 8장 - 예외처리

N’oublie pas de t’aimer·2025년 1월 7일

Java

목록 보기
9/18

프로그램 오류

  • 컴파일 에러: 컴파일 할 때 발생하는 에러

  • 런타임 에러: 실행 할 때 발생하는 에러, 프로그램이 종료됨

  • 논리적 에러: 작성 의도와 다르게 동작

  • Java의 런타임 에러

에러: 프로그램 코드에 의해서 수습될 수 없는 심각한 오류
예외: 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류

에러는 어쩔 수 없지만 예외는 처리해야 한다.

예외처리의
 정의: 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것
 목적: 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것

예외 처리하기

try-catch문에서의 흐름



예외 발생시키기

1. 연산자 new를 이용해서 발생시키려는 예외 클래스의 객체를 만든 다음
Exception e = new Exception("고의로 발생시켰음");

2. 키워드 throw를 이용해서 예외를 발생시킨다.
throw e;

혹은 줄여서
throw new Exception("고의로 발생시켰음");

Checked 예외, Unchecked 예외

  • checked 예외: 컴파일러가 예외 처리 여부를 체크한다. (예외 처리가 필수다)
    Exception 클래스와 그 자손 클래스가 해당한다.
  • unchecked 예외: 컴파일러가 예외 처리 여부를 체크하지 않는다. (예외 처리가 선택이다)
    RuntimeException 클래스와 그 자손 클래스가 해당한다.

예외 선언하기

finally 블럭

  • 예외 발생 여부와 관계없이 반드시 실행되어야 하는 코드를 포함한다.
    선택사항이지만, finally 구문을 사용하면

try 블록에서 return 문이 실행되거나, catch 블록에서 예외가 재발생해도 finally 블록의 코드는 실행되므로 안정적인 실행이 보장된다.
또한 예외 발생 여부와 관계없이 실행해야 하는 코드를 finally 블록에 작성함으로써 try와 catch 블록에서 중복 코드를 줄일 수 있다.

profile
매일 1퍼센트씩 나아지기 ୧(﹒︠ ̫ ̫̊ ̫﹒︡)୨

0개의 댓글