任何
JavaScript运行时(浏览器,节点等)都会抛出不可捕获的异常?在try / catch语句中可捕获的javascript环境中是否遇到过任何异常?
解决方法
如果是异常,则表示任何破坏脚本的异常情况,因此大部分语法错误都不可捕获,因此所有这些异常都可能引发不可匹配的异常.只有来自动态评估代码(eval,new Function)的语法错误才能被捕获.
try { :( } catch(e) { } // uncatchable Syntax error
这是假设你的意思是可以使用try..catch.从技术上讲,您可以使用错误事件从其他脚本块中捕获语法错误:
<script> onerror = function (e) { return true; }; </script> <script> :( </script>
另一方面,也许你不认为在评估之前发生的错误是例外.在这种情况下,“可捕获异常”可能会被降级为从其他执行上下文(例如使用setTimeout调用的函数)抛出的异常,您无法控制执行上下文引发异常.当然,这些异常不会中断您的程序的流程.