프로젝트/리팩토링

Exception의 종류들

임지혁코딩 2024. 1. 16. 16:40

 

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로 관리해주었다.