• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • TypeError

    TypeError(类型错误)对象用来表示值的类型非预期类型时发生的错误。

    语法

    new TypeError([message[, fileName[, lineNumber]]])
    

    参数

    message 消息
    可选.描述此错误
    fileName 文件名
    可选.引起该异常的代码所在的文件的名字。
    lineNumber 行号
    可选.引起该异常的代码的行号。

    描述

    当传入函数的操作数参数的类型并非操作符或函数所预期的类型时,将抛出一个 TypeError 类型错误。

    属性

    TypeError.prototype
    允许为一个 TypeError 类型错误附加属性。

    方法

    全局 TypeError 不包含任何方法,不过,它将从原型链中继承一些方法。

    TypeError类型错误实例

    属性

    TypeError.prototype.constructor
    声明创建实例原型(prototype)的方法。
    TypeError.prototype.message
    错误信息。虽然 ECMA-262 规范指出TypeError应该实现其自身的message属性,但是在 SpiderMonkey 中,该属性继承自Error.prototype.message
    TypeError.prototype.name
    错误名称。继承自Error
    TypeError.prototype.fileName
    引起该错误的代码所在文件的路径。继承自Error
    TypeError.prototype.lineNumber
    引起错误的代码所在行的行号。继承自Error
    TypeError.prototype.columnNumber
    引起错误的代码所在列的列号。继承自Error
    TypeError.prototype.stack
    堆栈跟踪记录。继承自Error

    方法

    尽管TypeError的实例通过原型链继承了一些方法。

    示例

    示例:捕获类型错误

    try {
      null.f();
    } catch (e) {
      console.log(e instanceof TypeError); // true
      console.log(e.message);              // "null has no properties"
      console.log(e.name);                 // "TypeError"
      console.log(e.fileName);             // "Scratchpad/1"
      console.log(e.lineNumber);           // 2
      console.log(e.columnNumber);         // 2
      console.log(e.stack);                // "@Scratchpad/2:2:3\n"
    }
    

    示例:创建一个类型错误

    try {
      throw new TypeError('Hello', "someFile.js", 10);
    } catch (e) {
      console.log(e instanceof TypeError); // true
      console.log(e.message);              // "Hello"
      console.log(e.name);                 // "TypeError"
      console.log(e.fileName);             // "someFile.js"
      console.log(e.lineNumber);           // 10
      console.log(e.columnNumber);         // 0
      console.log(e.stack);                // "@Scratchpad/2:2:9\n"
    }
    

    上篇:SyntaxError

    下篇:URIError