Benutzerdefinierte Ausnahmen in Javascript auslösen. Welchen Stil soll ich verwenden?
Douglas Crockford empfiehlt Folgendes:
throw {
name: "System Error",
message: "Something horrible happened."
};
Sie könnten aber auch so etwas tun:
function IllegalArgumentException(message) {
this.message = message;
}
throw new IllegalArgumentException("Argument cannot be less than zero");
und dann mache:
try {
//some code that generates exceptions
} catch(e) {
if(e instanceof IllegalArgumentException) {
//handle this
} else if(e instanceof SomeOtherTypeOfException) {
//handle this
}
}
Ich vermute, Sie könnten eintype
Eigenschaft in Crockfords Implementierung und dann untersuchen, dass anstelle eines zu tuninstanceof
. Gibt es einen Vorteil, wenn man eins gegen das andere macht?