inf*_*rno 1 javascript error-handling stack-trace
支持哪些浏览器Error.stackTraceLimit,来自哪些版本?是否有任何替代 API 来限制堆栈跟踪长度?
AFAIK。IE10 和当前的 V8:Node、Chrome 都支持它,但我对此知之甚少。我想它与错误 API 的其他部分一样是非标准的。我没有找到任何关于在不同浏览器中设置跟踪长度的替代方法。所以我需要更多关于这个功能的信息,但我没有找到太多使用谷歌...
很难找到这个话题的相关资料,至少google没有帮到我,所以只好写了一个简单的测试。
function testStackTraceLimitSupport(){
Error.stackTraceLimit = 2;
function firstFunction(){
secondFunction();
}
function secondFunction(){
thirdFunction();
}
function thirdFunction(){
fourthFunction();
}
function fourthFunction(){
throw new Error("xxxx");
}
try {
firstFunction();
} catch (error){
return !/firstFunction/.test(error.stack)
&& !/secondFunction/.test(error.stack)
&& /thirdFunction/.test(error.stack)
&& /fourthFunction/.test(error.stack);
}
}
console.log("Error.stackTraceLimit support: ", testStackTraceLimitSupport());
Run Code Online (Sandbox Code Playgroud)
据我所知,没有其他方法可以从 javascript 代码设置跟踪长度限制。如果您希望堆栈更短,您可以做的所有事情都是对堆栈进行切片。
我在以下环境中测试了该功能。
| 归档时间: |
|
| 查看次数: |
705 次 |
| 最近记录: |