JavaScript 抑制特定错误
JavaScript suppress a specific error
我的 JavaScript 文件中有以下行,它在控制台上创建了一条错误消息:
myObject.width = 315;
我想在控制台上隐藏此错误消息。我的意思是,这行代码会 运行,它会报错,但不会在控制台日志中显示。
我阅读了有关 window.onerror
的内容,但它没有用。据我了解,这会禁用页面上的所有错误,但是我只想禁用我的行的错误。我试着把它放在后面,但它也不起作用:
myObject.width = 315;
window.onerror = function(){
return true;
}
有什么解决方法吗?谢谢
一般来说这不需要产生错误。你得到的错误是什么?那个 myObject 没有定义?如果是这样,只需添加一个安全措施并检查它是否已定义。如:
if (myObject) {
myObject.width = 315
}
就是说,您可以通过将其包装在 try-catch
中来抑制它
try {
myObject.width = 315;
}
catch(err) {
// do nothing
}
要查看发生了什么,请尝试 运行 以下代码,然后在删除 var myObject = {}
行时查看发生了什么。
var myObject = {}
try {
myObject.width = 315;
} catch(err) {
console.log('error');
}
console.log(myObject)
我的 JavaScript 文件中有以下行,它在控制台上创建了一条错误消息:
myObject.width = 315;
我想在控制台上隐藏此错误消息。我的意思是,这行代码会 运行,它会报错,但不会在控制台日志中显示。
我阅读了有关 window.onerror
的内容,但它没有用。据我了解,这会禁用页面上的所有错误,但是我只想禁用我的行的错误。我试着把它放在后面,但它也不起作用:
myObject.width = 315;
window.onerror = function(){
return true;
}
有什么解决方法吗?谢谢
一般来说这不需要产生错误。你得到的错误是什么?那个 myObject 没有定义?如果是这样,只需添加一个安全措施并检查它是否已定义。如:
if (myObject) {
myObject.width = 315
}
就是说,您可以通过将其包装在 try-catch
中来抑制它try {
myObject.width = 315;
}
catch(err) {
// do nothing
}
要查看发生了什么,请尝试 运行 以下代码,然后在删除 var myObject = {}
行时查看发生了什么。
var myObject = {}
try {
myObject.width = 315;
} catch(err) {
console.log('error');
}
console.log(myObject)