blob: b0fd727eb22e5a75e2a09a76f16ccc468ca44bd7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* ES6 20140718 draft 19.5.3.4. */
function ErrorToString()
{
/* Steps 1-2. */
var obj = this;
if (!IsObject(obj))
ThrowTypeError(JSMSG_INCOMPATIBLE_PROTO, "Error", "toString", "value");
/* Steps 3-5. */
var name = obj.name;
name = (name === undefined) ? "Error" : ToString(name);
/* Steps 6-8. */
var msg = obj.message;
msg = (msg === undefined) ? "" : ToString(msg);
/* Step 9. */
if (name === "")
return msg;
/* Step 10. */
if (msg === "")
return name;
/* Step 11. */
return name + ": " + msg;
}
function ErrorToStringWithTrailingNewline()
{
return FUN_APPLY(ErrorToString, this, []) + "\n";
}
|