zoukankan      html  css  js  c++  java
  • 快应用如何避免JSON.parse()解析出错

    现象描述

    代码执行 fetch 请求,请求返回的数据默认是 JSON 化的字符串了,开发者使用 JSON 对象解析,这是正常逻辑;

    但是一旦遇到服务器端权限校验失败等问题时,会返回类似 503 的 HTML 页面,此时 JSON 解析肯定就会失败。

    解决方法

    1. 在每个JSON.parse() 的代码执行处进行 try-catch 包围,处理出错情况

    2. 在 app.ux 中提前代理 JSON.parse(),使用 try-catch 包围,待异常出现时埋点数据,或者返回默认正常数据替代。

    推荐方案2,示例代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    export function parseProxy () {
      const rawParse = JSON.parse
      JSON.parse = function (str, defaults) {
        try {
          return rawParse(str)
        }
        catch (err) {
          console.error(`JSON解析失败:${str}, ${err.stack}`)
          return defaults
        }
      }
    }

    原文链接:https://developer.huawei.com/...
    原作者:Mayism

  • 相关阅读:
    VSCode配置Python开发环境
    图像特征——边缘
    关于相机内参中的焦距fx和fy
    摄影变换和仿射变换
    为什么要引入齐次坐标
    链表一
    从小问题看懂链表
    类与对象
    排序一
    数组
  • 原文地址:https://www.cnblogs.com/developer-huawei/p/15030547.html
Copyright © 2011-2022 走看看