• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • new Error()

    Error()构造函数创建一个错误对象。

    语法

    new Error()
    new Error(message)
    new Error(message, options)
    new Error(message, fileName)
    new Error(message, fileName, lineNumber)
    
    Error()
    Error(message)
    Error(message, options)
    Error(message, fileName)
    Error(message, fileName, lineNumber)
    

    注意:可以使用或不使用new调用Error()。两者都创建一个新的Error实例。


    Parameters

    message Optional

    A human-readable description of the error.

    options Optional

    An object that has the following properties:

    cause Optional

    A property indicating the specific cause of the error. When catching and re-throwing an error with a more-specific or useful error message, this property can be used to pass the original error.

    fileName Optional Non-standard

    The value for the fileName property on the created Error object. Defaults to the name of the file containing the code that called the Error() constructor.

    lineNumber Optional Non-standard

    The value for the lineNumber property on the created Error object. Defaults to the line number containing the Error() constructor invocation.


    Examples

    Function call or new construction

    When Error is used like a function, that is without new, it will return an Error object. Therefore, a mere call to Error will produce the same output that constructing an Error object via the new keyword would.

    const x = Error("I was created using a function call!");
    
    // above has the same functionality as following
    const y = new Error('I was constructed via the "new" keyword!');
    


    Rethrowing an error with a cause

    捕捉错误并用新消息重新抛出有时很有用。在这种情况下,您应该将原始错误传递到新的error的构造函数中,如图所示。

    try {
      frameworkThatCanThrow();
    } catch (err) {
      throw new Error("New error message", { cause: err });
    }
    

    For a more detailed example see Error > Differentiate between similar errors.

    上篇:Error

    下篇:Error.prototype.message