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)