JAVA

자바 예외 처리

PGNV 2022. 1. 19. 13:02

에러와 예외

어떤 원인에 의해 오동작 하거나 비정상적으로 종료되는 경우 (심각도에 따라 분류)

 

 

에러(Error)

  • 메모리 부족, stack overflow와 같이 일단 발생하면 복구 불가
  • 프로그램의 비정상적 종료를 막을 수 없음 -> 디버깅 필요

 

예외(Exception)

  • 읽을려는 파일이 없거나 네트워크 연결이 안되는 등 수숩될 수 있는 비교적 상태가 약한 것
  • 프로그램 코드에 의해 수습될 수 있는 상황

 

예외처리(Exception Handling)

예외 발생 시 프로그램의 비정상 종료를 막고 정상적인 실행 상태를 유지

 

 

 

 

 

 

 

 

Checked Exception

  • 예외에 대한 대처 코드를 필수적으로 작성
  • 작성하지 않으면 컴파일을 진행할 수 없음

 

 

 

 

Unchecked Exception

  • RuntimeException 클래스의 자식클래스
  • 예외에 대한 대처 코드가 없어도 됨 (단, 예외에 대한 책임은 개발자 몫)

 

 

 

 

예외 처리는 try~catch 구문사용

예외가 발생할 것이라 예상되는 곳을 try 블록으로 감싸고,

예외가 발생했을 때 실행할 코드catch 블록에 작성

 

 

※catch문에 printStackTrace(); 를 사용하면 에러메세지를 볼수있다.

 

 

 

 

 

throws 키워드를 통한 처리 위임

예외 처리를 매서드 내의 예외 발생한 곳에서 처리하지 않고 메서드를 호출한 곳에서 처리할때 throws 키워드 사용

  • 예외를 전달받은 메서드는 예외 처리하거나 혹은 자신을 호출한 곳에서 처리하도록 throws 키워드 사용
  • 부모 타입으로 형 변환하여 throws 가능
  • Uncheched Exception 계열은 throws 하지 않아도 전달됨 (생략 가능)

 

 

'JAVA' 카테고리의 다른 글

자바 컬렉션 프레임워크(Collection Framework)  (0) 2022.01.19
자바 제네릭(Generics)  (0) 2022.01.19
인터페이스  (0) 2022.01.19
자바(JAVA) 초급  (0) 2022.01.17
JAVA 배열(Array)  (0) 2022.01.13