2014-09-10 58 views
1

我希望,任何在Javascript中捕獲的異常都會傳遞消息和堆棧。Javascript錯誤:消息,堆棧undefinded,代碼7

try { 
    doSomething(); 
} catch(e) { 
    alert(e.message);alert(e.stack);alert(JSON.stringify(e)); 
} 

不過,我得到的是兩個警報與字符串undefined和一個{ code: 7 }

什麼能負責嗎?


function doSomething() { 
reader.readAsDataURL(file); 
reader.onload = function(event) { 
    var result = event.target.result; 
    var jqxhr = $.post(url, { data: result}, function(data) { alert(data); }); 
}           
} 
+1

這應該在最新的瀏覽器工作的內在異常,是否'doSomething'有自己的異常技工?例如。 'throw {code:7};'因爲內置的'Error'對象沒有'code'屬性。 – 2014-09-10 12:19:28

+0

doSomething()有點複雜,但縮小了它看起來像這樣(請參閱主要部分) – Ferenjito 2014-09-10 12:25:07

回答

0

發現了自己:

      directoryReader.readEntries(function(entries){ 
           for (var i=0; i<entries.length; i++) { 

            //NOT here!! 
            //var reader = new FileReader(); 

            var entry = entries[i];           
            entry.file(function(file){ 

              //here!! 
              var reader = new FileReader(); 

              reader.readAsDataURL(file); 
              reader.onload = function(){} 
            }); 

           } 
          });