JavaScript Formatierung, wenn throw
einen eingebauten Fehler als solches -ing:benutzerdefinierte Fehler Werfen hat Fehler nicht erhält im Protokoll
throw new Error("Something was wrong");
zeigt den Text schön - Sie können Sie ein Objekt nicht sagen, warfen
wenn jedoch ein Fehler durch benutzerdefinierte Subklassifizieren die Error
Objekt (oder eine andere Fehlerobjekt in diesem Fall) zu schaffen, wird der Fehler nicht geworfen die gleiche Art und Weise in der Konsole angezeigt.
Also, indem Sie diesen Code verwenden:
var ImproperlyConfigured = function(message){
this.name ="ImproperlyConfigured";
this.message = message || "The object you tried to construct was improperly configured due to an unknown error";
}
ImproperlyConfigured.prototype = new Error();
ich die Tatsache nicht gefällt, dass die Objekteigenschaften (name
und message
) gezeigt. In der Tat mag ich nicht, dass ich nicht verstehe, warum die Eigenschaften angezeigt werden.
Ich habe ein bisschen gegoogelt und ich habe das Gefühl, dass durch die Implementierung einer toString
Methode hilft, aber, mit dieser Methode, die Tatsache, dass der Name des Fehlers nicht mehr in rot ist, rätselt mich noch mehr.
-Code
var ImproperlyConfigured = function(message){
this.name ="ImproperlyConfigured";
this.message = message || "The object you tried to construct was improperly configured due to an unknown error";
this.toString = function(){
return this.message;
}
}
ImproperlyConfigured.prototype = new Error();
Was würde ich ein Standard erreichen möchte, ist suchen Fehler, durch die Verwendung von benutzerdefinierten Fehler und natürlich, indem sie nicht die console.error
Methode manuell mit in einem try...catch
Block.
Ist das möglich?
Ich habe gerade versucht, Ihren Code in Chrom und [der Ausgang war in Ordnung] (http://i.imgur.com/TPVpkHB.png). In welcher Software/Konsole haben Sie getestet? –
Entwicklerkonsolen folgen keinem bestimmten Standard und sie tun ziemlich genau, was sie wollen. – Pointy
@ DenysSéguret Ich verwende derzeit [Google Chrome] (https://www.google.com/chrome/browser/desktop/) Version 49.0.2623.110 m – Adelin