-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
actual 관련 Error Catch 부분.
22.06.04 23:43 작성 조회수 121
0
안녕하세요
수업중 궁금한 부분이 있어 글을 남깁니다.
actual 이라는 함수로 만들어서 바로 error 를 만드는 것이 아니고
ClickCountView.js 에서 throw Error 를 해야지만 오류가 발생하는 건가요?
설명상으로 이해 하면 actual 라는 함수로 바로 error 를 만들어내는 걸로 이해를 했는데요 !.
답변을 작성해보세요.
2
김정환
지식공유자2022.06.05
자스민의 exprect 매처는 인자로 넣은 함수가 예외를 던지면 toThrowError()로 검증할수 있습니다. 그래서 인자로 전달한 actual 함수가 예외를 던지는지 테스트하는 코드인데요.
질문하신 것을 정리하면 왜 actual 함수 본체에서 예외를 던지지 않는건지 궁금하신 것이죠? ClickCountView에서 예외를 던져야만 하는게 궁금하신 걸로 이해했습니다.
이것은 자바스크립트의 예외 처리 방식을 알면 이해할 수 있습니다. 특정 함수에서 예외가 발생했을 때 보통 이것을 catch로 처리합니다. 그렇지 않으면 이 예외는 함수 호출 순서상(함수 호출 스택에 쌓이는 순서) 이전 함수에게 전달됩니다. 이것은 처리가 될 때까지 이전 함수에게 전달되는 방식입니다.
다시 우리 예제로 돌아옵시다. ClickCountView에서 예외를 처리하지 않으면 이것은 이전 함수에게 전달됩니다. 그것이 바로 actual 함수입니다. 여기서 예외가 발생되면 자스민에서 toThrowError로 검증할 수 있는거구요. 그래서 actual 함수에서 직접 예외를 발생시키는 것과 ClickCountView에서 예외를 발생해 처리하지 않은 것은 같은 효과가 있습니다.
답변 1