当前位置: 首页 > news >正文

个人网站免费建站德源网站建设

个人网站免费建站,德源网站建设,jsp python 网站开发,企业wordpress主题下载文章目录 前言#xff1a;思考#xff1a;一、为什么要处理异常#xff1f;二、需要处理哪些异常#xff1f; js 代码处理基本的try...catch语句 Promise 异常Promise 错误处理async/await 全局处理错误捕获window.onerrorwindow.onunhandledrejectionwindow.addEventListe… 文章目录 前言思考一、为什么要处理异常二、需要处理哪些异常 js 代码处理基本的try...catch语句 Promise 异常Promise 错误处理async/await 全局处理错误捕获window.onerrorwindow.onunhandledrejectionwindow.addEventListener捕获事件处理错误 AJAX 请求异常拦截 HTTP 请求错误 资源加载错误处理框架错误处理React 错误边界Error BoundariesVue 全局错误处理 iframe 错误处理自定义全局异常处理函数 并 异常日志上报Service Workers使用第三方库总结 前言 在前端开发中异常处理是一个重要的环节它能够帮助我们捕获和处理程序运行时的错误提高应用的稳定性和用户体验。 前端异常拦截处理是指在应用程序的全局或者局部范围内捕获和处理异常以防止单个组件或模块中的错误影响整个应用的稳定性。 思考 一、为什么要处理异常 增强用户体验远程定位问题完善的前端方案前端监控系统 二、需要处理哪些异常 JS 代码错误语法/内部执行Promise 异常全局错误处理静态资源加载异常AJAX 请求异常Iframe 异常框架异常处理React、Vue)跨域 Script error错误上报自定义错误处理使用第三方库 js 代码处理 基本的try...catch语句 JavaScript 提供了try...catch语句来捕获代码块中的错误。这是最基本的异常处理方式。 try {// 尝试执行的代码let name zs;console.log(age); } catch (error) {// 捕获错误并处理console.error(异常捕获, error); }Promise 异常 Promise 错误处理 在异步编程中Promise 提供了.catch()方法来处理异步操作中的错误。 fetch(/api/data).then((response) response.json()).catch((error) {console.error(请求失败:, error);});async/await async/await是 Promise 的语法糖它允许我们以同步的方式编写异步代码。错误处理可以通过try...catch语句来实现。 async function fetchData() {try {const response await fetch(https://jsonplaceholder.typicode.com/todos/1);const data await response.json();return data;} catch (error) {console.error(请求失败:, error);} }全局处理错误捕获 window.onerror 这是一个全局事件处理器可以捕获在全局作用域中发生的运行时错误。 window.onerror function (message, source, lineno, colno, error) {console.error(捕获到全局错误:, message);// 可以在这里进行错误日志上报return true; // 返回true可以阻止默认的错误处理 };window.onunhandledrejection 这个事件处理器用于捕获未被.catch()处理的 Promise 拒绝。 window.onunhandledrejection function (event) {console.error(未处理的Promise拒绝:, event.reason);// 可以在这里进行错误日志上报 };window.addEventListener捕获事件处理错误 对于事件监听器中可能抛出的错误可以通过给window对象添加事件监听器来全局捕获。 window.addEventListener(error, function (event) {console.error(捕获到事件错误:, event.error);// 可以在这里进行错误日志上报 });AJAX 请求异常 拦截 HTTP 请求错误 对于基于 Promise 的 HTTP 请求库如 axios可以设置全局的错误拦截器。 axios.interceptors.response.use(null, function (error) {// 判断状态码、code、获取接口统一标识flagconsole.error(HTTP请求错误:, error);// 错误日志上报return Promise.reject(error); });资源加载错误处理 对于图片、脚本、样式等资源的加载失败我们可以通过onerror事件来处理。 img srcimage.jpg onerrorerrorImage(this) /scriptfunction errorImage(dom) {dom.src ./default.jpg; // 修改为默认图片地址console.log(dom); // 打印输出} /script框架错误处理 React 错误边界Error Boundaries 在 React 中错误边界可以捕获其子组件树中 JavaScript 错误并展示备用 UIReact 中通过 Class 创建组件需要保证有 static getDerivedStateFromError 或者 componentDidCatch 属性 class ErrorBoundary extends React.Component {constructor(props) {super(props);this.state { hasError: false };}static getDerivedStateFromError(error) {return { hasError: true };}componentDidCatch(error, errorInfo) {// 错误日志上报console.error(React错误边界捕获错误:, error, errorInfo);}render() {if (this.state.hasError) {return h1Something went wrong./h1;}return this.props.children;} }使用组件 ErrorBoundaryMyWidget / /ErrorBoundaryVue 全局错误处理 在 Vue 中可以使用全局错误处理钩子errorHandler。 Vue.config.errorHandler function (err, vm, info) {console.error(Vue全局错误捕获:, err, info);// 错误日志上报 };iframe 错误处理 iframe src./iframe.html frameborder0/iframe scriptwindow.frames[0].onerror function (message, source, lineno, colno, error) {console.log(捕获到 iframe 异常, {message,source,lineno,colno,error,});return true;}; /script自定义全局异常处理函数 并 异常日志上报 可以创建一个全局的异常处理函数并在应用的各个部分调用它。 function reportError(error) {fetch(/log-error, {method: POST,headers: {Content-Type: application/json,},body: JSON.stringify({ error: error.toString() }),}); }function globalExceptionHandler(error) {console.error(全局异常处理:, error);// 错误日志上报reportError(error); }// 使用 try {// 可能会抛出错误的代码 } catch (error) {globalExceptionHandler(error); }Service Workers 对于支持 Service Workers 的应用可以在 Service Worker 中拦截请求并处理错误。 self.addEventListener(fetch, function (event) {event.respondWith(fetch(event.request).catch(function (error) {console.error(Service Worker请求错误:, error);// 返回备用响应或进行错误日志上报})); });使用第三方库 有许多第三方库可以帮助我们更好地处理异常例如Sentry、Bugsnag等它们提供了错误捕获、上报和监控的功能。 总结 异常处理是前端开发中不可或缺的一部分通过上述介绍的方法它不仅能够提升应用的健壮性可以有效地捕获和处理全局范围内的异常减少因异常导致的程序崩溃提高用户体验。
http://www.w-s-a.com/news/555009/

相关文章:

  • 教育网站模板下载做汽车网站开题报告的意义
  • 网站首页做后台链接昌平网站制作
  • 营销型门户网站建设浏览器下载免费大全
  • 快三网站开发推广普通话手抄报内容50字
  • 沈阳专业做网站开发公司asp网站搭建教程
  • 网站建设代码福州小程序开发平台
  • 了解做房产广告的网站手机版官方网站的建设
  • 如何与别的网站做友情链接做网站排名大概要多少钱
  • 东莞市锂电池网站建设HTML5怎么做自适应网站
  • 江苏城乡建设学校网站群晖建立wordpress
  • wordpress导入网站模板seo自学网官网
  • 购物网站服务器带宽北京网站开发周期
  • 同性做视频网站网站怎么添加栏目
  • 新余网站设计seo自学网站
  • 新乡个人网站建设价格wordpress数据插件
  • 你是网站设计有限公司的项目经理网站推广的重要性
  • 网站定制开发怎么写泸州设计公司有哪些
  • 上海网站建设zj kt迅速编程做网站
  • 郑州服装 网站建设网站栏目合理性
  • 平面设计在线网站最新汽油价格调整最新消息
  • 刷单网站建设wordpress缩略图 裁剪
  • 视差 网站泰州公司做网站
  • 广州网站优化系统怎么做淘客网站
  • 类似凡科互动的网站wordpress网站下载
  • 临沂网站制作公司安卓app开发实例教程
  • 泰州做网站 泰公网络科技公司网站升级中html
  • 如何做授权网站网站设计心得
  • 网站排名快速上升wordpress自动标签页
  • 做的好的手机网站有哪些万网域名交易
  • 网站怎么做漂亮点做陶瓷的公司网站