try-catch-finally에서 finally에 return을 하여 code smell로 판단되어 리턴 처리에 대해 찾아보았다
try 구문 내에서 return에 도달한 경우
try에서 정상적 도달하였으므로, 리턴 값을 임시 저장한 뒤 finally문을 실행 시키고 메소드를 종료
try에서 return에 도달하지 못하고 예외 발생했을 경우
catch -> finally 수행 후 return을 만났을 때 종료
try-catch-finally 밖에서 return을 적어줘야 함
finally에서 return을 적어줬을 경우 : try에서 return 값이 있으면 두 리턴이 충돌할 가능성 존재!
참고 출처 : codevang.tistory.com/211