📜  JavaScript EvalError 对象(1)

📅  最后修改于: 2023-12-03 15:16:05.115000             🧑  作者: Mango

JavaScript EvalError 对象

EvalError 对象是一个内置对象,表示逻辑错误。如果 eval() 函数中存在语法错误或者运行时错误,就会抛出该类型的异常。

构造函数

EvalError 对象的构造函数可以通过 new 关键字来调用,也可以直接调用,实际上它和全局环境下的 EvalError() 函数是一样的。

const error = new EvalError([message])
参数
  • message:可选参数,表示错误信息的字符串。默认为空字符串。
示例

以下是创建一个 EvalError 对象的示例:

const error = new EvalError('Oops, something went wrong.')
console.log(error.message)  // 'Oops, something went wrong.'
属性

EvalError 对象具有以下属性:

  • EvalError.prototype:被所有 EvalError 对象实例共享的原型对象。
  • EvalError.prototype.message:错误信息。默认为 'eval() has thrown an exception'。
  • EvalError.prototype.name:错误类型名称。默认为 'EvalError'。
示例

以下是修改 EvalError 对象属性的示例:

const error = new EvalError('Oops, something went wrong.')
console.log(error.message)  // 'Oops, something went wrong.'
console.log(error.name)  // 'EvalError'

error.message = 'There was an error evaluating code.'
console.log(error.message)  // 'There was an error evaluating code.'
方法

EvalError 对象没有自己的方法。

示例

以下是使用 EvalError 对象的示例:

try {
  const result = eval('1 + j')  // 由于 "j" 没有定义,将抛出 EvalError
} catch (error) {
  console.log(error instanceof EvalError)  // true
  console.log(error.message)  // 'j is not defined'
}
总结

总的来说,EvalError 对象表示 eval() 函数抛出的异常。它包含 messagename 属性,但没有自己的方法。在 try...catch 语句中,我们可以使用 instanceof 运算符检查错误类型是否为 EvalError,并通过访问 message 属性来获得错误信息。