다음 코드 실행이 어떻게 되는지 궁금합니다.


package jpastart.reserve.application;
import java.util.Optional;
import javax.persistence.EntityManager;
import jpastart.jpa.EMF;
import jpastart.reserve.model.User;

public class UserService {

    public UserService() {
        // TODO Auto-generated constructor stub
    }

    public Optional<User> getUser(String email){
        EntityManager em = EMF.createEntityManager();
            try{
                    return Optional.ofNullable(em.find(User.class, email));
              }finally{
                    em.close();
            }


    }

}

위 코드에서 중간에 return하는 코드가 존재해도 finally 부분이 실행되나요?

  • 2017년 12월 07일에 수정됨
    Software Developer
  • 2017년 12월 06일에 작성됨

조회수 60


1 답변


좋아요
2
싫어요
채택취소하기

네.

try 블록 안에 return 문이 실행되더라도 finally 블록은 실행됩니다.

  • 2017년 12월 07일에 작성됨
    ლ( ╹ ◡ ╹ ლ) 쭈물

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close