1Error.prototype.toString = function() {
2 'use strict';
3
4 var obj = Object(this);
5 if (obj !== this) {
6 throw new TypeError();
7 }
8
9 var name = this.name;
10 name = (name === undefined) ? 'Error' : String(name);
11
12 var msg = this.message;
13 msg = (msg === undefined) ? '' : String(msg);
14
15 if (name === '') {
16 return msg;
17 }
18 if (msg === '') {
19 return name;
20 }
21
22 return name + ': ' + msg;
23};
24