2013-03-29 23 views
1

我有一個應用程序有一個選項卡面板,我們可以在其中編寫Extjs代碼,並通過在代碼的o/p代碼應在預覽中顯示的按鈕上敲定。爲此,我有一個iFrame,並通過document.write(content)方法更新iframe,其中content是一個包含Extjs代碼的變量。如何捕捉Extjs中的腳本錯誤?

我的要求是,如果運行js代碼時出現任何錯誤,系統將捕獲該錯誤並顯示在預覽區域(iframe)中。

任何人都可以有想法如何趕上按鈕點擊錯誤?

我已經通過了w3school try/catch/finally教程,但它沒有幫助,因爲我需要捕捉控制檯錯誤以及。

感謝 Tapaswini

+0

你可以發佈您的代碼?它有助於回答。 – srknori

回答

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 ; 
} 
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 !"); 
       } 
      }); 
     } 
    } 
}); 
+1

這是什麼代碼? – Toto