[Java] (2) 예외처리 - 1. throw throwable 2. Error 예외와 Exception 예외 비교
Programming/java 2017. 5. 17. 17:22[Java] 자바 (2) 예외처리 - 1. throw throwable 2. Error 예외와 Exception 예외 비교
예외처리 : 예외 발생 시 그 정보를 전달하고 전달 받는 방법
- 예외 정보를 호출자에게 전달하는 방법
throw [Throwable 객체];
- 예외 정보를 담은 객체란 무엇인가?
java.lang.Throwable 타입의 객체이다.
- java.lang.Throwable 클래스 계층 구조
Throwable
| --> Error
| --> Exception
| --> RuntimeException
| --> NullPointerException
| --> IOException
| --> FileNotFoundException
| --> EOFException
| --> SQLException
| --> 그외 (..)
- 예외 종류
1) 시스템 예외(Error 타입 예외)
- JVM이 발생시키는 예외이다.
- 개발자가 처리하는 예외가 아니다.
- 개발자가 처리하기엔 치명적인 예외라서 가능한 JVM을 종료해야 한다.
- 이 예외가 발생했을 때,
개발자는 JVM이 종료되기 전에 작업 중인 파일을 저장하거나
예외에 대한 로그를 파일에 쓰거나
사용자에게 예외 상황을 출력하는 등의 마무리 작업을 하고
JVM을 종료한다.
2) 애플리케이션 예외(Exception 타입 예외)
- 애플리케이션에서 발생하는 예외이다.
- 개발자가 처리해야 하는 예외이다.
- 예외를 처리한 후에 애플리케이션을 계속 실행할 수 있다.
- 예외 정보를 받는 방법
try {
예외를 던지는 코드
} catch (예외를 받을 변수 선언) {
예외를 처리하는 코드
}
예외처리 예제
}
- 실행결과 :
5.0
0으로 나누지 마세요!
- 예외 처리 문법의 이점
1) 메서드가 리턴하든 안하든,
리턴하는 값의 타입이 무엇이든
호출자에게 예외 정보를 전달할 수 있다.
2) 예외를 처리하는 입장에서는 try 블록 안에는 예외 상황이 아닐 때의
작업 코드를 두고, catch 블록 안에는 예외를 처리하는 코드를 둠으로써
정상 작업 코드와 예외 처리 코드를 분리하는 효과가 있다.
-> 코드의 가독성 ↗
3) 예외가 발생하더라도 적당한 처리를 한 후
시스템을 멈추지 않고 계속 실행시킬 수 있다.
'Programming > java' 카테고리의 다른 글
[Java] (3) 예외처리 (exception) - throw 명령 (0) | 2017.05.18 |
---|---|
[Java] 컬렉션 클래스 - ArrayList를 직접 만들어서 내부 구조를 이해해보자 (0) | 2017.05.17 |
[Java] 자바 (1) 예외처리 - 조건문 사용과 그 문제점 (0) | 2017.05.17 |
[Java] 자바 제네릭 (Generic) 문법 (0) | 2017.05.17 |
[Java] 컬렉션 - [Map] HashMap(java.util.HashMap) (2) | 2017.05.16 |