throw
은 기능을 중지하고 exception을 생성합니다. 예외가있는 경우 throw
다음에 오는 것이 모두 전달됩니다. 이것을 구문 설탕이있는 함수로 생각하면 throw('message')
을 작성하는 대신 throw 'message'
이라고 작성하십시오. throw new Error('message')
은 객체가 문자열 리터럴 대신 전달되는 것을 제외하고는 throw 'message'
과 같습니다. throw Error('message')
와 throw new Error('message')
사이
There is no difference : 개체가 new
생성자없이 새로운 객체의 생성을 허용하고 Error
자바 스크립트 코어의 많은 그들 중 하나가 발생합니다.
즉, 은 항상 throw new Error('message')
을 사용해야합니다. Error
개체에는 스택 트레이스 및 문자열 리터럴을 사용할 때 손실되는 유용한 디버깅 정보가 포함되어 있습니다. ES6 클래스를 사용하여 객체를 만들려면 스택 트레이스를 보존하는 유일한 방법은 new
및 extending Error
via a class입니다. 사용자 정의 오류 클래스를 작성하면 오류 처리가 훨씬 더 균일 해집니다.
참조 : extremely elaborate illustration.
귀하의 질문은 "*이 질문의 답변을 나와 함께 정리해주십시오. *"입니까? – RobG
@RobG "나"를 제외하고는 내 자신의 질문에 답한 이후로 "나"를 의미합니다. – Indolering