오류는 엔진에 의해 발생하며 예외는 개발자에 의해 발생합니다. 그러나 그것이 정확히 무엇을 의미합니까? 자바 스크립트에서 모든 예외는 단순히 객체입니다. 대다수의 예외는 전역 오류 클래스의 구현이지만 오래된 객체는 던져 질 수 있습니다. 마음이와 함께,두 가지 방법이 있을 던지는 예외:을 통해 직접 오류 개체를 통해 사용자 지정 개체입니다.,
일반적인 예외
면 내장 오래전히 정의—등인 번호 및 스택 추적 몇 가지 이름을 때 그것은 오는 것이 가장 중요하고의 메시지입니다. 첫 번째 종종만 전달할 매개 변수 중에 오류 인스턴스화,메시지는 사용자가 쉽게 이해할 수 있는 오류할 수 있는 경우가 많과 직접 관련된 최종 사용자에게 있습니다. 일반적인 예외를 던지는 것은 소리가 나는 것처럼 거의 간단합니다., 오류 생성자의 첫 번째 매개 변수가 오류 메시지 인 예외 객체를 인스턴스화 한 다음”던지기”만하면됩니다.나는 이것이 어떻게 작동하는지 잘 모르겠습니다.코드 대 오류.message
오류 메시지가 사람이 읽을 수있는 오류 데이터 인 반면,여기서 유의하는 것이 중요하다,노드.js 는 또한 던져지는 오류의 종류를 식별하는 오류 코드를 제공합니다. 이 값은 오류 내에 포함 된 메시지에 관계없이 던져 질 수있는 오류에 프로그래밍 방식으로 적응할 수 있으므로 유용합니다.,
면 오류 코드는 일반적으로 사용되는 시스템이 오류를 만들 때 사용자 지정 오류를 확장하여 오류가 클래스(참조 사용자 지정 예외는 아래 자세한 내용),사용자 지정 코드를 정의할 수 있고 더 많이 사용되는 구조적 오류 정의입니다.
사용자 지정 예외
가능하면 모든 물체를 던져 최상의 방법이 확장하는 오류 개체와 함께 새로운 클래스입니다. 는 환경에서 지원할 수 있습과 같은 기능에 대한 자동 스택 추적에 포함되는 예외에 대응할 수 있는 중요한 때 진단하는 데 문제가 나중에는 아래 온다.,
사용자 지정 예외 객체를 만들,모두가 우리가 해야 할 일은 그것을 던져 다른 오류가:
throw new CustomException('Exception message');
또 다른 커다란 장점을 확장하는 오류 개체보다는,던지는 일반적인 오류가,는 추가적인 메타데이터에 포함될 수 있는 오류 및 검색된다. 이 될 수 있습니다 믿을 수 없을만큼 가치에 디버깅 및 오류 보고,때로는 일반 텍스트 메시지 단순히 충분하지 않습니다. 예를 들어 문제를 디버깅하는 데 도움이 될 수 있는 로컬 변수 또는 상태의 값을 포함할 수 있습니다.,
function CustomException(message, metadata) { const error = new Error(message); error.metadata = metadata; return error;}
외부의 데이터에 포함된 오류가 물체를 사용할 때 Rollbar 알림 JavaScript 추가적인 데이터가 포함된 보고서 뿐만 아니라. 여기에는 브라우저 및 사용자와 같은 상황에 맞는 정보가 포함됩니다.
// Caught errorstry { doSomething();} catch (e) { Rollbar.error("Something went wrong", e);}
쓰기를 콘솔
자바스크립트에서는 콘솔은 모든 로그를 찾을 수 있습니다(이에는 곳에서는 자바 스크립트 오류를 기록됩니까?). 고맙게도 실제로 콘솔에 데이터를 쓰는 것은 매우 간단합니다. 이를 수행하려면 콘솔을 호출하기 만하면됩니다.,로그에 쓰고 싶은 메시지와 함께 로그()메소드.나는 이것이 어떻게 작동하는지 이해하지 못한다.
Leave a Reply