Error.stackTraceLimit 跨浏览器
Error.stackTraceLimit cross-browser
哪些浏览器支持Error.stackTraceLimit
,从哪些版本开始?是否有任何替代 API 来限制堆栈跟踪长度?
阿法克。它受 IE10 和当前 V8 支持:Node,Chrome,但我对此了解不多。我想它与错误 API 的其他部分一样是非标准的。我没有找到任何关于在不同浏览器中设置跟踪长度的替代方法。所以我需要有关此功能的更多信息,但我没有找到太多使用 google...
这个题目很难找到相关资料,至少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());
据我所知,没有其他方法可以通过 javascript 代码设置跟踪长度限制。如果你想让它更短,你可以做的就是对堆栈进行切片。
我在以下环境中测试了该功能。
- Node - 在 4.2.1 上测试,支持。我没有找到版本数据,可能它在 Chromium 文档中。
- Chrome - 在 52.0.2743.116 m 上测试,支持。我没有找到版本数据,可能它在 Chromium 文档中。
- Firefox - 在 48.0.2 上测试它不受支持。
- Internet Explorer - 在 11.0.9600.18426 上测试,支持。 IE10+ 和 Edge 也支持它 https://msdn.microsoft.com/en-us/library/s4esdbwz(v=vs.94).aspx .
- Opera - 在 39.0.2256.71 上测试,支持。我没有为 javascript 开发人员找到任何 Opera 文档。
- PhantomJS - 在 2.1.1 上测试它不受支持。
哪些浏览器支持Error.stackTraceLimit
,从哪些版本开始?是否有任何替代 API 来限制堆栈跟踪长度?
阿法克。它受 IE10 和当前 V8 支持:Node,Chrome,但我对此了解不多。我想它与错误 API 的其他部分一样是非标准的。我没有找到任何关于在不同浏览器中设置跟踪长度的替代方法。所以我需要有关此功能的更多信息,但我没有找到太多使用 google...
这个题目很难找到相关资料,至少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());
据我所知,没有其他方法可以通过 javascript 代码设置跟踪长度限制。如果你想让它更短,你可以做的就是对堆栈进行切片。
我在以下环境中测试了该功能。
- Node - 在 4.2.1 上测试,支持。我没有找到版本数据,可能它在 Chromium 文档中。
- Chrome - 在 52.0.2743.116 m 上测试,支持。我没有找到版本数据,可能它在 Chromium 文档中。
- Firefox - 在 48.0.2 上测试它不受支持。
- Internet Explorer - 在 11.0.9600.18426 上测试,支持。 IE10+ 和 Edge 也支持它 https://msdn.microsoft.com/en-us/library/s4esdbwz(v=vs.94).aspx .
- Opera - 在 39.0.2256.71 上测试,支持。我没有为 javascript 开发人员找到任何 Opera 文档。
- PhantomJS - 在 2.1.1 上测试它不受支持。