열심히 끝까지
30강 예외처리2 본문
<복습>
-예외(Exception)
: 프로그램 실행 중 발생하는 오류 중에서 처리 가능한 것을 의미
-예외처리(Exception Handling)
: 예외가 발생했을 때 이를 적절히 처리하여
프로그램이 비정상적으로 종료되는 것을 막는 방법
30-1 ) 객체로서의 예외
*" 자바에서 예외는 Exception 클래스의 객체!"*
- 자바는 객체지향 언어이기에 예외도 객체로 처리한다
< 예외 클래스의 상속 관계 >
- 모든 예외 클래스들은 Exception 클래스를 상속받으므로 Exception으로 처리 가능
- 예외 클래스들에서 Exception 클래스의 메서드 사용 가능
ex ) getMessage(), toString(), printStackTrace() .....
< 한번에 모든 예외 처리하는 방법 >
try{
예외가 발생할 수 있는 명령;
}
catch(Exception e){
예외 발생 시 처리할 명령;
}
30-2 ) throw와 throws
throw()? 예외 발생
: 프로그래머가 고의로 예외를 발생시킬 때 사용하는 방법
<구조>
Exception e = new Exception("Exception");
throw e;
<실습>Exception2
Exception 생성자 호출 시 전달했던 문자열이 내부적으로 저장되어,
객체.getMessage()를 호출하면 출력된다!
throws()? 예외 던지기
: 예외가 발생했을 경우 현재 메서드가 예외를 처리하지 않고 자신을
호출한 쪽으로 예외 처리에 대한 책임을 넘기는 것
<구조>
void method() throws Exception{...}
* 예외 던지기 시, 메서드 선언부에 throws 키워드를 붙여
메서도 호출하는 부분에서 처리하도록 하는 기법
<실습>Exception3
[코드 실행 과정]
main() -> methodA() -> methodB() -> methodC()
┗<-예외던지기┘┗<-예외던지기┘┗<-예외던지기┘
<실습> RethrowExample
try문 내부에 다른 try-catch문이 있을 경우 예외 처리 확인하기
1. 외부 try문 실행
2. 내부 try문 실행
3. 내부 catch문 실행
4. 내부 finally문 실행
5. 외부 catch문 실행
30-3 ) 사용자 정의 예외
<실습>Exception5
기존 예외클래스로 예의 표현 불가능할 경우, 나만의 예외 클래스를 만들어 사용해보기
'멘토씨리즈 JAVA' 카테고리의 다른 글
32강 기본 API 클래스 알아보기2 (0) | 2022.05.04 |
---|---|
31강 기본 API 클래스 알아보기 (0) | 2022.05.04 |
29강 예외처리 - 예외 / 예외처리 개념 (0) | 2022.05.03 |
28강 추상클래스/인터페이스/내부클래스 - 내부클래스 (0) | 2022.05.02 |
27강 추상클래스/인터페이스/내부클래스 - 인터페이스 (0) | 2022.05.02 |