개발자의 오르막
Java-예외처리 본문
프로그램을 짤 때 대표적으로 고려해야할 부분이 예외처리이다.
Java는 이러한 예외처리를 Class로 구현하는데,
대표적인 방법으로 try/catch 문으로 오류가 걸렸을 때의 대처방안을 실행하는 방법과
메소드나 클래스에 예외 클래스를 상속받아 함수를 정지시키는 방법이 있다.
이번 글에서는 예외처리 방법에 대한 비교와 예외클래스에 대한 설명을 기록하겠다.
# RuntimeException
- java 에서 각종 에러는 class 로 구현된다.
extends Exception, extends RuntimeException
- 코드 수행시 에러가 발생되면 해당 예외 클래스의 인스턴스를 throw한다.
- 발생된 예외를 적절하게 처리하지 못하면 프로그램은 종료한다.
- "예외는 함수 수행시에 발생되고, 함수에 그 사실을 명시한다."
# RuntimeException 과 Exception의 차이, Try catch 문
- RuntimeException 일 때는 컴파일 되지만 실행 때 안됨.
- Exception 일 때는 컴파일 안됨. 그러나 함수 뒤에 throws 붙이면 됨.
- 함수에서 에러가 발생할 수 있다면 그 사실을 선언부에 명시해야 컴파일 된다.
- throws FuelException 으로 선언된 함수를 호출할 때는
반드시 에러가 발생할 수 있는 영역을 try{} 로 감싸준다.
- try에는 반드시 1개 이상의 catch 가 있어야 한다.
- 에러가 발생되면 에러 인스턴스를 throw 한다.
- catch( FuelException e )에 잇는 e 변수가 발생된 에러 인스턴스를 가리킬 수
있으면 catch에 딸린 {...} 가 동작한다.
... 에는 에러를 수습할 수 있는 코드가 들어가는 것이 바람직하다.
- 조상의 참조형 변수는 자손의 인스턴스를 가리킬 수 있어서,
Exception e 는 FuelException 을 가리킬 수 있다.
'Java' 카테고리의 다른 글
[Log4j 1.2.16-ver Json Layout 적용기 #02] 기존 공통 라이브러리 의존성에 따른 Log4j2 Mig 이슈 (0) | 2022.07.11 |
---|---|
[Log4j 1.2.16-ver Json Layout 적용기 #01] 로그 개선 방향 선정 (0) | 2022.07.04 |
Java - compile (0) | 2019.08.23 |
Java - IO 예외처리 (0) | 2019.07.25 |
자료형 변수 (0) | 2019.07.18 |