首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

网页前端 Exception 未捕捉处理后 js 就停止执行了 有办法统一捕捉并忽略吗

  •  
  •   whereabouts · 2018-08-30 10:13:25 +08:00 · 736 次点击
    这是一个创建于 464 天前的主题,其中的信息可能已经有所发展或是发生改变。
    发生在 jquery 的 ajax 或者普通 JavaScript 代码写错的时候

    $.ajax({
    type: 'POST',
    ...参数略过,
    success: function(res){
    },
    failure: function(err){
    },
    });

    JavaScript 最后面设置了两个捕捉错误并忽略的代码( StackOverflow 上搜的):
    window.onerror = function(error){
    console.log(error)
    }
    window.addEventListener('error', function(e) {
    console.log(e)
    });

    使用时当 ajax 目标网址宕机(端口关闭)时,chrome 的 console 报错并且 JavaScript 停止执行,应该是没有处理 Exception 导致的。
    个人目前的理解是$.ajax 的 failure 对用函数除了网络连接失败之类的错误,而末尾两端代码捕获并处理未显式 Handle 的异常。
    但是无论是 ajax 失败还是其它 JavaScript 代码写错而导致的异常都会使 JavaScript 挂掉,请指点一下自己是哪里理解错了?
    3 回复  |  直到 2018-08-30 15:21:15 +08:00
        1
    xxx749   2018-08-30 10:19:51 +08:00 via Android
    你只是捕获了,并没有做处理,在代码底部加上 return false,具体参考高程 3,506 页
        2
    molvqingtai   2018-08-30 10:35:19 +08:00
    try{

    } cache {

    }
        3
    doublleft   2018-08-30 15:21:15 +08:00
    @molvqingtai

    try / cache 是啥
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2348 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 13:52 · PVG 21:52 · LAX 05:52 · JFK 08:52
    ♥ Do have faith in what you're doing.