JavaScript会抑制特定错误

时间:2016-04-07 11:06:11

标签: javascript console.log

我的JavaScript文件中有以下行,它在控制台上创建了一条错误消息:

myObject.width = 315;

我想在控制台上隐藏此错误消息。我的意思是,这行代码将运行,它会给出错误,但不会在控制台日志中显示它。

我读到了window.onerror,但它没有用。据我所知,这会禁用页面上的所有错误,但是我想禁用只有我的行的错误。我尝试过它,但它没有工作:

myObject.width = 315;
window.onerror = function(){
       return true;
    }

这有什么解决方法吗?感谢。

1 个答案:

答案 0 :(得分:3)

一般来说,这不应该产生错误。你得到的错误是什么? 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)