处理web前端异常的方式有哪些


这篇文章主要介绍了处理web前端异常的方式有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇处理web前端异常的方式有哪些文章都会有所收获,下面我们一起来看看吧。1、未雨绸缪,尽早发现问题2、让异常变得可控,避免影响呈现结果3、增强用户体验4、完善的前端方案1、JavaScript 语法错误、代码异常2、异步请求异常3、静态资源加载异常4、Promise 异常5、跨域6、崩溃与渲染异常我们可以使用 try-catch 对同步代码运行异常进行捕获。例如:try-catch 无法捕获语法错误和异步错误。例如:由于 setTimeout 属于异步,try-catch 并没有捕获到,查看日志我们可以使用 window.onerror 对 JavaScript 运行错误时进行捕获。同步运行错误捕获到异常语法错误与 try-catch 一样,无法捕获语法错误。异步运行错误捕获到异常window.onerror 在捕获到错误时,会向上抛出,如上例,控制台会出现我们可以在函数里面使用 return true,使异常不向上抛出,此时控制台不会显示如上错误信息window.onerror 最好写在所有 JavaScript 脚本前面,否则有可能捕获不到异常;window.onerror 无法捕获语法异常、静态资源异常、接口请求异常;window.onerror 主要用来捕获意料之外的异常,而 try-catch 则是用来捕获可预见的异常。我们可以使用window.addEventListener 对静态资源加载异常与接口请求异常进行捕获。捕获到异常当一项资源(如图片或脚本)加载失败,加载资源的元素会触发一个 Event 接口的 error 事件,并执行该元素上的 onerror 处理函数。由于网络请求异常不会事件冒泡,因此必须在捕获阶段将其捕捉到才行,但是这种方式虽然可以捕捉到网络请求的异常,但是无法判断状态码是404还是其他比如500等等,所以还需要配合服务端日志才进行排查分析才可以。不同的浏览器返回的 error 对象可能不一样,需要做兼容;避免 addEventListener 重复监听。我们可以使用 Promise 中的 catch 捕获异步错误。捕获到异常有时候我们在写 Promise 可能会漏掉 catch,所以建议在全局增加一个对unhandledrejection 的监听,用来全局监听Uncaught Promise Error。捕获到异常添加event.preventDefault(); 可以去掉控制台的异常显示信息。我们可以使用errorHandler 对 vue 组件中所抛错误的捕捉与处理。捕获到异常React 16提供了一个内置函数componentDidCatch,使用它可以非常简单的获取到react下的错误信息。除此之外,也可以使用错误边界error boundary,此处不展开。资源跨域可以为script标签添加crossOrigin属性。也可以动态添加 JavaScript 脚本关于“处理web前端异常的方式有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“处理web前端异常的方式有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关免费云主机域名注百云主机行业资讯频道。

相关推荐: php导入csv乱码如何解决

本篇内容主要讲解“php导入csv乱码如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php导入csv乱码如何解决”吧! php导入csv乱码问题的解决办法:1、构造一个解析函数“function tb_st…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/27 12:29
下一篇 03/27 13:11

相关推荐