我有一个应用程序有一个选项卡面板,我们可以在其中编写Extjs代码,并且通过按下按钮,代码的o / p应显示在预览中。为此,我有一个iFrame,并通过document.write(content)方法更新iframe,其中content是包含Extjs代码的变量。
我的要求是如果在运行js代码时出现任何错误,系统将捕获该错误并显示在预览区域(iframe)中。
任何人都知道如何在按钮点击时捕获错误吗?
我已经完成了w3school try / catch / finally教程,但它没有帮助,因为我还需要捕获控制台错误。
由于 Tapaswini
答案 0 :(得分:0)
我得到了解决方案。当然,我们无法在Extjs中实现这一点。我们可以在简单的Javascript window.onerror事件中实现这一点。
示例代码:
window.onerror = function(message, url, linenumber) {
var errorbox = document.createElement('div');
errorbox.innerHTML = '<font color = red >'+message+'<br> At line number : '+linenumber+'</font>';
document.body.appendChild(errorbox);
return ;
}
答案 1 :(得分:0)
var varMessage = Ext.MessageBox.show({
msg: 'Initiating, please wait...',
//title: 'Please wait',
progressText: 'Saving...',
animateTarget: 'btn1',
progress: true,
closable: false,
width: 50,
wait: true,
waitConfig: {
interval: 400,
duration: 2000,
//increment: 2,
text: 'Initiating...',
scope: this,
fn: function() {
//Code for ajax request
Ext.Ajax.request({
url: 'url',
async: false,
//Code for if url successfully done
success: function(response, opts) {
var obj = (response.responseText);
Ext.MessageBox.hide();
//Code for error handling
try {
Ext.Msg.alert('Status', 'Request successfully done .');
} catch(err) {
Ext.Msg.alert('Error', 'Some error occured during execution.<br/></br>' + err);
} finally {}
//Code for error handling
},
//Code for if any error occured during execution
failure: function(response, opts) {
Ext.MessageBox.hide();
Ext.Msg.alert("Error", "Some issue occured during execution on server !");
}
});
}
}
});