📅  最后修改于: 2023-12-03 15:16:05.115000             🧑  作者: Mango
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()
函数抛出的异常。它包含 message
和 name
属性,但没有自己的方法。在 try...catch
语句中,我们可以使用 instanceof
运算符检查错误类型是否为 EvalError
,并通过访问 message
属性来获得错误信息。