以下腳本可讓您運行一段JavaScript代碼。 try/catch塊會捕獲錯誤。何處獲取EVAL中引發的異常
try {
var result = eval(script);
} catch (e) {
// do something meaningful
}
但是,如果變量script
包含例如AJAX調用,這Ajax調用拋出異常(例如,在成功的功能),此異常不會被這個try/catch塊逮住...
// execute an AJAX request
var script = '$.ajax(url:"/somewhere", success: function(){throw new MyException('testexception')})';
try {
var result = eval(script);
} catch (e) {
// will not be triggered...
}
問題:我如何能趕上Ajax請求中拋出的異常?
除此之外,它不會趕上一個因爲它是一個回調函數,所以'success'函數是個例外。直到退出try/catch後,纔會調用該代碼。 –
這不是關於在ajax請求中添加錯誤回調嗎? – Huangism
@MattBurland 100%同意 - 但這是我的問題... – itsame69