back-end-study / effective-java

🔥 이펙티브 자바 스터디
42 stars 4 forks source link

try-finally 이중 예외시 하나만 남는 경우 #16

Closed lsj8367 closed 1 year ago

lsj8367 commented 2 years ago

try 부분과 finally 부분에서 둘다 예외가 발생하게 구현한 경우에 책에서는 보시는것과 같이

스크린샷 2022-09-17 오후 1 23 21

close에서 발생한 예외는 숨겨진다고 하는데, 제가 구현한 것으로는 finally에서 나온 예외는 나오고 readLine()에서 구현한 예외는 숨겨지는 것 같은데 이와 다르게 구현해야 할까요?

코드는 이 두가지입니다.

예외 Reader 예외 Reader 실행

백기선님 강의에서는 처음 예외가 무시되고 finally에 남은 예외만 보인다고 합니다!

gnoyes-mik commented 2 years ago

해당 부분은 오역이 아닐까 생각이 들어요..!

원서에서 그 내용을 찾아 봤는데

item9

원서에서는 "두번째 예외가 첫번째 예외를 완전히 없애버린다. 예외 스택 트레이스에서 첫번째 예외에 대한 기록은 없다" 라고 되어있었어요

lsj8367 commented 2 years ago

@jeff-seyong 엇 감사합니다ㅠㅠ 제가 너무 안찾아보고 질문을 올렸던것 같네요 😭

gnoyes-mik commented 2 years ago

덕분에 저도 한번 더 볼 수 있어서 좋았습니다! :)

Jiyeong-github commented 2 years ago

감사합니다. 덕분에 저도 복습할 수 있었네요!