Mag*_*elt 12 javascript exception-handling exception
任何javascript运行时(浏览器,节点等)是否会抛出无法捕获的异常?在javascript环境中遇到的任何和所有异常都可以在try/catch语句中捕获吗?
Dag*_*bit 18
如果异常是指任何破坏脚本的异常情况,那么所有异常都会抛出无法捕获的异常,因为大多数语法错误都无法捕获.只能捕获动态评估代码(eval,new Function)中的语法错误.
try { :( } catch(e) { } // uncatchable syntax error
Run Code Online (Sandbox Code Playgroud)
这是假设你的意思是捕获使用try..catch.从技术上讲,您可以使用该error事件来捕获来自其他脚本块的语法错误:
<script> onerror = function (e) { return true; }; </script>
<script> :( </script>
Run Code Online (Sandbox Code Playgroud)
另一方面,也许您不认为在评估之前发生的错误是异常.在这种情况下,"无法捕获的异常"可能会降级为来自其他执行上下文的异常抛出(例如使用setTimeout调用的函数),其中您无法控制抛出异常的执行上下文.当然,这些例外不会破坏程序的流程.
| 归档时间: |
|
| 查看次数: |
1065 次 |
| 最近记录: |