• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

finally관련해서 질문드립니다!

21.10.23 15:22 작성 조회수 112

1

- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)
- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다
- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
"풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]"의 "모던 웹을 위한 Javascript+ES6 비동기 처리를 위한 Promise 이해2" 강의 9분 50초 쯤부터 나오는 내용에 대해 질문 드립니다.
Error를 새로 throw하면 정상적인 동작은 멈췄다고 판단해서 finally가 먼저 호출되고, 그 뒤에 있는 catch가 호출된다고 하셨습니다.
그런데 catch를 먼저 선언하고 그 후에 finally를 선언하니 catch 먼저 호출되었습니다.
finally가 먼저 출력되는 것이 아니라 작성 되어있는 순서대로 출력이 되는 게 맞는 건가요??

답변 1

답변을 작성해보세요.

0

안녕하세요. 네 맞습니다.

보통 예외문을 JS 로 작성시에는 (물론 다른 언어도 마찬가지입니다.)

다음과 같이 세 가지 스타일로 작성을 하게 됩니다. catch 가 finally 보다 먼저 작성되는 것이 일반적이고요.

  1. try...catch
  2. try...finally
  3. try...catch...finally

finally 선언문은 예외 발생 여부와 상관없이 실행되는데, 위와 같은 순서에서는 catch 를 먼저 호출하고, 그 다음에 호출하게 됩니다. 추가로 다음 링크도 한번 검토해보셔도 참고해보시는데 도움이 되실 것 같은데 어떠실까요?

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/try...catch

eric8800님의 프로필

eric8800

질문자

2021.10.25

아 이해 된 것 같습니다! 감사합니다!