Exception의 종류들
Exception을 control하는게 리팩토링에서 굉장히 중요하기 때문에,
Exception의 종류들과 특징을 정리하고자 한다.
Exception은 CHECKED, RUNTIME->UNCHECKED이렇게 2가지 종류가 크게 있다고 할 수 있다.
ERROR는, OUTOFMEMEORY,SLIDEDEATH 등등 처리하기가 굉장히 힘들다 .
우리는 주로 EXCEPTION에 집중한다.
CHECKED EXCEPTION과 UNCHECKED의 차이는, UNCHECKED는 RUNTIMEEXCEPTION을 상속 받는 다는 것이다!
CHECKED EXCEPTION의 경우에는 반드시 예외를 처리해야한다.
1. METHOD에 THROWS EXCEPTION 추가
2. TRY -> CATCH방식으로 예외를 처리해야한다 .
ROLLBACK이 되지 않는다. 즉 , IOEXCEPTION은 발생한다고 하더라도 , 작업이 진행된다는 것이다.
내 생각: 그렇다면, TRY()이후 CATCH를 하여 UNCHECKED EXCEPTION으로 던져주는 것이 좋아보인다.
IOEXCEPTION, SQLEXCEPTION 등등 .
UNCHECKED EXCEPTION은, 예외 처리하지 않아도 된다.
ROLLBACK이 진행된다.
NULLPOINTER,ILLEGALARGUMENT 등등.
코드로 보면 간단하다.
RUNTIMEEXCEPTION은 UNCHECKED기 때문에 TRY,CATCH, THROWS 아무것도 사용하지 않았고,
IOEXCEPTION은 CHECKED기 때문에 THROWS로 관리해주었다.