2011년 11월 16일 수요일

Java Exception 처리 방법 Idea

 몇몇 시스템에서 Business layer 에서 발생한 Exception 을 특정한 Error 처리/감지용 Exception class 로 Wrapping 하여 throw 하는 경우가 있다.

 Wrapping 하게 되면, Exception 을 감지할 수 있는 Monitoring tool 에 감지가 되지 않는 단점이 있는데, 이것을 아래와 같은 Code 로 다시 한 번 Exception 을 throw 하여 H/W failure 같은 상황을 감지할 수 있다.

 이 방법은 내 생각엔, 아주 특수한 경우에만 적용할 수 있을 것 같다. 그렇지 않으면 같은 Exception 이 매우 여러 갈래로 전단에 위치한 Monitoring tool 까지 전파된다.


try {
  // DO SOMTHING USEFUL
} catch (e) {


  // Make Exception Object
  throw ExceptionObject();


} finally {


  if ( OccuredException is System Exception ) {
    // Make System Exception Object
    throw SystemExceptionObject();
  }
}