非常教程

JavaScript参考手册

错误 | Errors

error.toString

toString()方法返回一个指定的错误对象(Error object)的字符串表示。

语法

e.toString()

返回值

代表指定Error对象的字符串。

描述

Error 对象覆盖了 Object.prototype.toString() 方法。该方法实现如下:(假定 ObjectString 没有被更改):

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;
};

示例

var e = new Error('fatal error');
console.log(e.toString()); // 'Error: fatal error'

e.name = undefined;
console.log(e.toString()); // 'Error: fatal error'

e.name = '';
console.log(e.toString()); // 'fatal error'

e.message = undefined;
console.log(e.toString()); // 'Error'

e.name = 'hello';
console.log(e.toString()); // 'hello'

规范

Specification

Status

Comment

ECMAScript 1st Edition (ECMA-262)

Standard

Initial definition. Implemented in JavaScript 1.1.

ECMAScript 5.1 (ECMA-262)The definition of 'Error.prototype.toString' in that specification.

Standard

ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'Error.prototype.toString' in that specification.

Standard

ECMAScript Latest Draft (ECMA-262)The definition of 'Error.prototype.toString' in that specification.

Living Standard

浏览器兼容性

Feature

Chrome

Edge

Firefox

Internet Explorer

Opera

Safari

Basic Support

(Yes)

(Yes)

(Yes)

6

(Yes)

(Yes)

Feature

Android

Chrome for Android

Edge mobile

Firefox for Android

IE mobile

Opera Android

iOS Safari

Basic Support

(Yes)

(Yes)

(Yes)

(Yes)

8.1

(Yes)

(Yes)

错误 | Errors相关

1.Error
2.error.message
3.error.name
4.Error.prototype
5.Errors
6.Errors: Already has pragma
7.Errors: Array sort argument
8.Errors: Bad octal
9.Errors: Bad radix
10.Errors: Bad regexp flag
11.Errors: Bad return or yield
12.Errors: Called on incompatible type
13.Errors: Cant access lexical declaration before init
14.Errors: Cant define property object not extensible
15.Errors: Cant delete
16.Errors: Cant redefine property
17.Errors: Cyclic object value
18.Errors: Dead object
19.Errors: Delete in strict mode
20.Errors: Deprecated caller or arguments usage
21.Errors: Deprecated expression closures
22.Errors: Deprecated octal
23.Errors: Deprecated source map pragma
24.Errors: Deprecated String generics
25.Errors: Deprecated toLocaleFormat
26.Errors: Equal as assign
27.Errors: For-each-in loops are deprecated
28.Errors: Getter only
29.Errors: Identifier after number
30.Errors: Illegal character
31.Errors: in operator no object
32.Errors: Invalid array length
33.Errors: Invalid assignment left-hand side
34.Errors: Invalid const assignment
35.Errors: Invalid date
36.Errors: Invalid for-in initializer
37.Errors: Invalid for-of initializer
38.Errors: JSON bad parse
39.Errors: Malformed formal parameter
40.Errors: Malformed URI
41.Errors: Missing bracket after list
42.Errors: Missing colon after property id
43.Errors: Missing curly after function body
44.Errors: Missing curly after property list
45.Errors: Missing formal parameter
46.Errors: Missing initializer in const
47.Errors: Missing name after dot operator
48.Errors: Missing parenthesis after argument list
49.Errors: Missing parenthesis after condition
50.Errors: Missing semicolon before statement
51.Errors: More arguments needed
52.Errors: Negative repetition count
53.Errors: No non-null object
54.Errors: No properties
55.Errors: No variable name
56.Errors: Non configurable array element
57.Errors: Not a codepoint
58.Errors: Not a constructor
59.Errors: Not a function
60.Errors: Not defined
61.Errors: Precision range
62.Errors: Property access denied
63.Errors: Read-only
64.Errors: Redeclared parameter
65.Errors: Reserved identifier
66.Errors: Resulting string too large
67.Errors: Stmt after return
68.Errors: Strict Non Simple Params
69.Errors: Too much recursion
70.Errors: Typed array invalid arguments
71.Errors: Undeclared var
72.Errors: Undefined prop
73.Errors: Unexpected token
74.Errors: Unexpected type
75.Errors: Unnamed function statement
76.Errors: Unterminated string literal
77.Errors: Var hides argument
78.EvalError
79.EvalError.prototype
80.RangeError
81.RangeError.prototype
82.ReferenceError
83.ReferenceError.prototype
84.SyntaxError
85.SyntaxError.prototype
86.TypeError
87.TypeError.prototype
88.URIError
89.URIError.prototype
JavaScript

JavaScript 是一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的解释型语言。它已经由ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器( Chrome、IE、FireFox、Safari、Opera )支持。JavaScript 是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持 I/O,比如网络