체크 예외와 키체크 예외

Exception 계열 예외는 다시 확인된 예외와 미확인 예외로 분류할 수 있다

미확인 예외(비체크 예외)는 RuntimeException과 직간접적으로 관련된 객체들로서 잘못 구현된 프로그램 코드 때문에 발생한다

 

확인된 예외(체크 예외)는 Exception을 상속하는 객체 중 RuntimeException과 관련 없는 객체들로서 프로그램 내에서 통제할 수 없는 조건 때문에 발생한다.

따라서 확인된 예외가 발생할 수 있는 명령문을 사용할 떄는 오류가 발생할 것에 대비해 예외처리도 함께 해주어야 한다

 

만일 확인된 예외에 대한 예외처리를 구현하지 않으면 컴파일 시 오류가 발생한다. 확인된 예외는 소스파일이 컴파일될 때 컴파일러가 예외 처리를 했는지 검사하기 때문이다

 

비체크 예외는 예외처리가 선택이다

체크예외는 반드시 예외처리가 반드시 필요하다

 

 

자바에서 예외를 처리하는 방법에는 한 가지가 더 있다

- 예외를 잡아서 그 자리에서 처리하는 방법(기존)

(try~catch 블록을 사용해 예외를 잡고 처리한다

 

- 메소드 내부에서 처리하지 않고 메소드를 호출할 때 에러를 처리하도록 만드는 방법

(throw(에러 처리를 미룰떄 사용하는 키워드)를 사용하여 다른 메서드한테 예외 처리를 맡긴다

 

v throws

-메소드 선언부 끝에 작성

 

- 예외처리를 자신이 담당하지 않고 자신을 호출한 쪽으로 던져버리는 방법이다

- 메서드 내에서 예외가 발생하면 예외를 자신을 호출한 상위 메서드로 예외를 전달할 수 있다

- throws가 선언된 메서드는 메서드를 호출한 곳에서 throw다음에 선언된 예외들을 처리하도록 위임한다

- throws는 메서드를 호출하는 곳의 상황에 맞게 동적인 오류처리를 하기위해 사용하는 명령문이다

 

 

 

 

사용자 정의 예외 클래스 선언

- 자바 표준 API에서 제공하지 않는 예외

- 애플리케이션 서비스와 관련된 예외

- 사용자 정의 예외 클래스 선언 방법

 

예외 객체는 예외 상황이 발생하면 JVM이 자동으로 객체를 생성한다.

그러나 사용자 정의 예외 객체는 개발자가 필요해서 생성한 것으로 JVM이 예외 상황을 인지하여 자동으로 예외 객체를 생성할 수 없다. 사용자 정의 예외 객체는 프로그램 내에서 예외 상활과 예외 객체 생성을 처리해주어야 한다.

예외 상환은 조건문으로 처리하고 예외 객체생성은 throw문으로 할 수 있다

 

v사용자 정의 예외 정의하기

사용자 정의 예욐 ㄹ

 

 

'Language > Java' 카테고리의 다른 글

자바  (0) 2022.02.18
예외객체  (0) 2022.02.18
조건문 if / 선택문 switch  (0) 2022.01.25
Scanner 클래스 / print메소드  (0) 2022.01.24
this  (0) 2022.01.18