【发布时间】:2016-06-11 15:43:40
【问题描述】:
try {
requestAnimationFrame(function re(){
re();
})}
catch (e){
console.log(e);
}
我在控制台中尝试了上面的代码,它没有按预期工作。在我看来,虽然
requestAnimationFrame(function re(){
re();
})}
最终会触发一个错误,抛出到try 的是动画的id。如何捕获这样的“超出最大调用堆栈大小”错误?
【问题讨论】:
-
这些错误通常来自无限循环对吧?
-
你想通过使用
requestAnimationFrame来达到什么目的? -
另外关于捕获最大堆栈大小超出错误的事情是我不确定它是如何工作的。浏览器可以做的唯一一件事就是清空堆栈,然后运行下一个函数是 catch 函数,但在那时(我认为浏览器甚至不能做到那么远)你会没有迹象表明你的代码在哪里出错了,所以你尝试运行的任何东西充其量都是严重的错误。
-
谢谢,这是我正在寻找的答案。
-
好的,我会把它放在答案中
标签: javascript try-catch callstack