고등어가어딨니
452
2021-06-02 14:17:05
3
216

자바 try catch finally 의문점


이부분에 대해서 공부하고있었는데요


finally가 


예외가 발생하든 안하든 반드시 실행시키는 구문이라고 들었는데요


그냥  이 구문이 없어도 try catch문 밖에있는 코드들 역시 똑같이 실행하지않나요 ?


실제로 테스트 해보니깐 별차이를 못느끼겟더라고요


try{

}catch{

}finally{

  system.out,println("A");

}

이거나 



try{

}catch{

}

system.out,println("A");



차이가 뭐죠 ?? 

0
  • 답변 3

  • 웹개발자 화이팅
    311
    2021-06-02 14:24:47

    return구문을 만날경우 차이가 있습니다.

  • fender
    22k
    2021-06-02 14:51:11

    catch를 안하는 경우에도 의미가 있습니다.

  • 상상력대마왕
    83
    2021-06-02 15:08:06

    저도 얼마전에 같은 부분을 배운 입장에서 같은 눈높이에서 설명하면


    모든 예외를 캐치로 못잡으니 반드시 실행시켜야 하는 명령을 적는거 같아요


    예외는 문법적 오류가 아니라 명령을 실행시키던 도중에 발생하는데 try에서 명령을 절반 까지 실행 시키고


    이후에 명령에서 예외뜨면 오류가 나버리지만 finally가 있으면 [오류]라고 출력시킬 수 도 있구요


    프로그램 쓰다가 그냥 멈춰버리는것보다 오류라고 메세지라도 뜨는게 좋잖아요?


  • 로그인을 하시면 답변을 등록할 수 있습니다.