더글러스 크록 포드는이 같은 일을 권장합니다Javascript에서 사용자 지정 예외를 throw하는 중입니다. 어떤 스타일을 사용해야합니까?
throw {
name: "System Error",
message: "Something horrible happened."
};
을하지만이 같은 것을 할 수있는 :
function IllegalArgumentException(message) {
this.message = message;
}
throw new IllegalArgumentException("Argument cannot be less than zero");
을 다음과 같이하십시오
try {
//some code that generates exceptions
} catch(e) {
if(e instanceof IllegalArgumentException) {
//handle this
} else if(e instanceof SomeOtherTypeOfException) {
//handle this
}
}
을 나는 당신이있을 수 있습니다 생각 type
속성을 확인한 다음 instanceof
을 수행하는 대신이를 검사하십시오. 그 중 하나를 다른 것에 비해 어떤 이점이 있습니까?
Java 스타일 예외에 익숙한 사람에게는 두 번째 형식이 훨씬 익숙해졌습니다. – NullUserException
예, 바로 그 이유 때문에 두 번째 부분입니다. :) –
코드 순도 측면에서 재사용이 가능하기 때문에 두 번째 코드를 선호합니다. 정확히 말하자면, 같은 예외 타입을 여러 곳에서 던지려한다면, 첫 번째 접근법으로 코드가 엉망이 될 것입니다. – bellpeace