मेरे कस्टम त्रुटि वर्ग:कस्टम Javascript Error.toString()
function MyError(message) {
this.message = message || "";
}
MyError.prototype = new Error();
MyError.prototype.name = "MyError";
MyError.prototype.toString = function() {
return "[" + this.name + "] " + this.message;
};
अगर मैं throw new MyError("test")
चलाने तो एफएफ/आईई सांत्वना की उम्मीद [MyError] test
के बजाय एक डिफ़ॉल्ट संदेश को दर्शाता है।
मैं अपने toString()
विधि का उपयोग करने के लिए जेएस इंजन कैसे प्राप्त करूं?
function MyError(message) {
this.message = message || "";
}
MyError.prototype = Object.create(Error.prototype); // see the note
MyError.prototype.name = "MyError";
MyError.prototype.toString = function() {
return "[" + this.name + "] " + this.message;
}
console.log(new MyError("hello").toString()); // "[MyError] hello"
ध्यान दें कि पुराने ब्राउज़र Object.create
(ES5 वाक्य रचना) का समर्थन नहीं कर सकते हैं, तो आप this शिम उपयोग करने के लिए कर सकते हैं:
यह 'MyError.prototype = Error.prototype' नहीं होना चाहिए? – fardjad
एक समाधान त्रुटि से प्राप्त नहीं होगा। –
@ फर्डजाद नोप [यहां देखें] (http://stackoverflow.com/a/871646/1711500) –