Javascript try-catch错误输出被截断

时间:2015-10-15 05:39:15

标签: javascript firefox

尝试运行以下代码时:

try{
    document.getElementsByClassName("aklsdjfaskldf")[0].outerHTML;
}catch(err){
    alert("Function failed with error dump <"+err.message+">");
}

显示的错误消息被截断:

Function failed with error dump <document.getElementsByClassName(...)[0] is undefined>

是否有办法让错误信息完整显示,即在Firefox中显示以下信息? Chrome不显示输出,因此对我当前的使用不是问题。

Function failed with error dump <document.getElementsByClassName("aklsdjfaskldf")[0] is undefined>

1 个答案:

答案 0 :(得分:0)

每个浏览器都以不同的方式处理错误调用堆栈,如果你在chrome上,你甚至不会看到该字符串。它只是说不能在undefined上调用outerHTML函数。因此,最好在调用该函数之前检查该值,然后显示相应的警报。或者,如果要获取有关抛出此错误的代码位置的提示,则打印error.stack。