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

Javascript 如何从浏览器中隐藏未捕获的错误?,javascript,Javascript,我有一些简单的代码可以完成这项工作,但会给出一个未捕获的错误 ck.setMode('source'); ck.setMode( 'wysiwyg'); 这给了我一个信息: Uncaught TypeError: Cannot read property 'on' of undefined 我知道这可能是一种不好的做法,但错误不会导致任何问题,我希望避免它显示在浏览器中。是否有某种方法可以将此代码封装起来,使其不会发出浏览器控制台警报 以下是包含上述内容的代码: ngModel.$r

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

 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);
        }   
    }
};

您可以使用如下代码:

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

它可以防止所有错误消息,因此请小心使用。

您可以使用如下代码:

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

它可以防止所有错误消息,因此请小心使用。

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

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

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

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

可以使用
try
catch
捕获错误吗?为什么不修复
setMode()
函数中的错误?它是一个ckEditor函数。我已经看了12个小时了,仍然看不出问题出在哪里:-(尝试跟踪堆栈以查找触发错误的代码段。您可能缺少库,或者可能以错误的顺序加载脚本…我尝试了,但所有操作都指向了ckEditor的最小化版本。我已请一位朋友在ckEditor标记上发布帮助。希望有人能帮助我。您可以使用
Try
catch捕获错误?为什么不修复
setMode()
函数中的错误?这是一个ckEditor函数。我已经看了12个小时了,仍然看不出问题出在哪里:-(尝试跟踪堆栈以查找触发错误的代码段。您可能缺少库,或者可能以错误的顺序加载脚本…我尝试了,但所有操作都指向了ckEditor的最小化版本。我已要求朋友在ckEditor标记上发布帮助。希望有人能帮助我。我添加了更多代码。问题出在哪里在来自ckEditor的Angular指令内部。我添加了一些代码。问题是在来自ckEditor的Angular指令内部。+1更好地将try/catch块放在尽可能靠近违规代码的位置,而不是在非常高的级别上捕获所有内容。+1更好地将try/catch块放在尽可能靠近违规代码的位置呃,比在一个很高的层次上抓住每件事都好。