Error.prototype.toString()
The toString() method returns a string representing the
specified Error object.
Syntax
toString()
Return value
A string representing the specified Error object.
Description
The Error object overrides the Object.prototype.toString()
method inherited by all objects. Its semantics are as follows (assuming
Object and String have their original values):
Error.prototype.toString = function() {
'use strict';
var obj = Object(this);
if (obj !== this) {
throw new TypeError();
}
var name = this.name;
name = (name === undefined) ? 'Error' : String(name);
var msg = this.message;
msg = (msg === undefined) ? '' : String(msg);
if (name === '') {
return msg;
}
if (msg === '') {
return name;
}
return name + ': ' + msg;
};
Examples
Using toString()
var e1 = new Error('fatal error');
console.log(e1.toString()); // 'Error: fatal error'
var e2 = new Error('fatal error');
e2.name = undefined;
console.log(e2.toString()); // 'Error: fatal error'
var e3 = new Error('fatal error');
e3.name = '';
console.log(e3.toString()); // 'fatal error'
var e4 = new Error('fatal error');
e4.name = '';
e4.message = undefined;
console.log(e4.toString()); // ''
var e5 = new Error('fatal error');
e5.name = 'hello';
e5.message = undefined;
console.log(e5.toString()); // 'hello'
Specifications
| Specification |
|---|
| ECMAScript Language Specification # sec-error.prototype.tostring |
Browser compatibility
BCD tables only load in the browser
See also
- A polyfill of
Error.prototype.toStringwith many bug fixes is available incore-js Error.prototype.toSource()