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