如何捕获在event handler中抛出的异常

我有如下代码

<!DOCTYPE html>
<html>
<head lang="zh-CN">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1"/>
    <title></title>
</head>
<body>
    <script>
        "use strict";
        window.onhashchange = function () {
            throw new Error('test');
        };
        (function () {
            //我想在这个函数里面捕获异常
            location.hash = '#page'
        })()
    </script>
</body>
</html>

异常是在事件处理程序中产生的,我该如何捕获他的呢?
请注意,我是想在代码中立即执行的函数里面捕获异常,所以请不要给我推荐try-cacth(我试过,没用)和window.onerror属性

阅读 3.4k
3 个回答

IIFE 和 window.onhashchange 有时差吧,如何在 IIFE 捕获 window.onhashchange 抛出的异常?

用onerror啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题