- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[JAVA] try catch finally 사용 시 문제점 본문
try{
// .. 예외가 발생할 가능성이 있는 구문!
}catch(Exception e){
// .. 예외 발생시 처리 구문!
}finally{
// .. 꼭 실행해야하는 구문!
}
전 코딩을 할 때 위와 같이 이해 하고 코딩을 하고 있습니다.
하지만 여기서 몇가지 생각해야 할 게 있더라구요!
1. try 안에 return.
2. catch 안에 return.
3. finally 안에 return.
한번 생각해보세요.......
결론.
1. try 안에 return문
=> return은 정상 동작으로 종료가 되었다는 의미이므로 finally 구문을 거쳐 정상 종료
2. catch 안에 return 문
=> catch 안에 return문은.. 거의 쓸일이 없을듯... 똑같이 finally 구문을 거쳐 정상 종료.
3. finally 안에 return문
=> 문제!!!
finally 안에 return을 할 경우, return이 정상 종료를 의미 하므로 try 구문에서 발생한
Exception이 출력이 되지 않습니다. 따라서, Exception이 발생했지만 발생 하지 않은
것으로 간주 되는 것이지요.
cf> finally 안에 또 다른 try catch문
=> 이 부분도 생각 많이 해야합니다. finally 구문에서 생기는 Exception이 그 전에 생긴
Exception을 잡아 먹어버림... ㅎㅎ 그래서 try 안에서 발생한 부분을 파악 할 수 없을
가능성이 있습니다. 그래서, 코딩할 때 잘 고려해야겠죠^^
[출처] http://gogorchg.tistory.com/m/post/view/id/230
'★─Programing > ☆─JAVA' 카테고리의 다른 글
[JAVA] 예외의 printStacktrace의 값을 String으로 얻기 (0) | 2013.05.31 |
---|---|
[JAVA] 대소문자 구분 없이 문자열 바꾸기/치환 (0) | 2013.05.21 |
[JAVA] TCP 소켓프로그램 예제 (0) | 2013.05.09 |
[JAVA] 문자열 치환, 문자 바꾸기, 모두 바꾸기; String Replace All (0) | 2013.05.09 |
[JAVA] 자바 디자인 패턴 01 - Iterator (0) | 2012.11.29 |