JAVA Study

try catch fianlly

85chong 2019. 1. 30. 16:45
728x90
반응형
SMALL

기본적으로  try catch finally 를 사용할때 (물론 try catch 는 만병통치약 과 비슷한 존재이지만 애초에 원천적인 에러를 잡아주는것이 좋다)

보통 아래와 같은 상황으로 처리하는 경우가 많을것이라 생각한다.

try {
// 예외가 발생할 가능성이 있는 작업 코딩 -> 1번작업
} catch (CanceledException e) {
   // 예외가 발생했을때 처리할 작업 코딩 -> 2번작업

} finally {

// 위의 상황이 끝난후 반드시 실행해아하는 작업 코딩 -> 3번작업

}


* 상황에 빗대어 작동되는 순서는
- 에러상황일때
1번작업 > (문제발생) > 2번작업 > 3번작업

- 정상작동일때
1번작업 > (정상작동) > 3번작업

위와 같이 finally 는 무조건 실행된다.





! 하나더 아래의 코드와 같이 사용할때 주의 할 점이 있다.

try {
//.... 어떠한 동작
} catch (CanceledException e) {
    e.getMessage();// 1번

e.printStackTrace(); //2번

} finally {


}


catch 문 안에 1번 작업과 2번 작업이 있는데, 여기서 1번 작업을 사용하게 되면 에러 상황이 발생할수있다.

1번은 null 이 들어갈 가능성이 있지만 2번 작업은 null 이 들어갈 가능성이 없다. 그래서 보통 2번작업의 방식으로

처리하는 경우가 많다. 1번작업으로 로그를 찍다가 크게 삽질한적이있는 경험으로 비추어 보았을때 나한텐 아주 중요한 포인트인다.


-끝-



'JAVA Study' 카테고리의 다른 글

PATTERN 모음집  (0) 2019.01.31
배열의 데이터를 조건에 맞게 분류 하기  (0) 2019.01.31
배열 기초  (0) 2019.01.14
ArrayList 사용법과 조회 방법에 관하여  (0) 2019.01.14
이중데이터 두번에 걸른 정렬방법  (0) 2019.01.10