如何从浏览器中隐藏未被捕获的错误?

时间:2013-10-17 22:13:27

标签: javascript

我有一些简单的代码可以完成这项工作,但却给出了一个未被捕获的错误。

 ck.setMode('source');
 ck.setMode( 'wysiwyg'); 

这是给我的信息:

Uncaught TypeError: Cannot read property 'on' of undefined 

我知道这可能是一个不好的做法,但错误不会导致任何问题,我想避免它在浏览器中显示。是否有某些方法可以将此代码括起来,因此它不会给出浏览器控制台警报?

以下是包含上述内容的代码:

ngModel.$render = function () {
    if (typeof ngModel.$modelValue != 'undefined') {
        if (ngModel.$modelValue != null) {
            ck.setData(ngModel.$modelValue);
             timer = setTimeout(function () {
                ck.setData(ngModel.$modelValue);
             }, 1000);
             timer = setTimeout(function () {
                 ck.setMode('source');
                 ck.setMode('wysiwyg');
             }, 1000);
        }   
    }
};

2 个答案:

答案 0 :(得分:2)

您可以使用以下代码:

window.onerror = function(message, url, lineNumber) {  
    // maybe some handling?  
    return true; // prevents browser error messages  
};

它会阻止所有错误消息,因此请小心使用。

答案 1 :(得分:1)

您可以将代码块放在try catch中。所以你的代码会变成这样。

try {
   ck.setMode('source');
   ck.setMode( 'wysiwyg'); 
}
catch (error) {
   // handle your error
}