【问题标题】:Javascript error : message, stack undefinded, code 7Javascript 错误:消息,堆栈未定义,代码 7
【发布时间】:2014-09-10 12:09:18
【问题描述】:

我希望,任何在 Javascript 中捕获的异常都会传递一条消息和一个堆栈。

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); });
 }                                          
}

【问题讨论】:

  • 这应该在最近的浏览器中适用于内在异常,doSomething 是否有自己的异常机制?例如。 throw {code: 7}; 作为内置的Error 对象没有code 属性。
  • doSomething() 有点复杂,但缩小后看起来像这样(见主要部分)

标签: javascript exception-handling


【解决方案1】:

自己发现的:

                            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(){}
                                    });

                                }
                            });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-31
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    • 2013-12-07
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多