본문 바로가기
IT Study/따즈아 Java & Java 기초

따즈아 java 멘토 시리즈 30강 - 예외처리2

by hhyyyjun 2022. 12. 27.

객체로서의 예외

자바는 객체지향 언어이기에 예외도 객체로 처리한다

1. 모든 예외 클래스들은 Exception 클래스를 상속받으므로 Exception으로 처리 가능

2. 예외 클래스들에서 Exception 클래스의 메서드 사용 가능

ex) getMessage(), ToString(), printStackTrace()...

한번에 모든 예외 처리하는 방법

throw

프로그래머가 고의로 예외를 발생시킬 때 사용하는 방법

구조

1. Practice - throw

throws

예외가 발생했을 경우 현재 메서드가 예외를 처리하지 않고 자신을 호출한 쪽으로 예외처리한 책임을 넘기는 것

구조

예외 던지기 시, 메서드 선언부에 throws 키워드를 붙여 메서드 호출하는 부분에서 처리하도록 하는 기법

2. Practice - throws

실행순서

3. Practice - throw, throws

1. 외부 try문 실행

2. 내부 try문 실행

3. 내부 catch문 실행

4. 내부 finally문 실행

5. 외부 catch문 실행

4. Practice

1. age에 -19 입력됨

2. ticketing에 -19가 들어가 if문 0보다 작으므로 AgeException 예외를 던진다.

3. AgeException의 매개변수 생성자가 호출되고 매개변수 값이 message에 들어가게 됨.

4. message값이 부모클래스에 전달됨.

콘솔창의 메세지는 본인이 매개변수 생성자에 전달했던 매개변수 값이 된다.

댓글