美文网首页RN知识
RN-ErrorUtils处理崩溃、promise错误

RN-ErrorUtils处理崩溃、promise错误

作者: 精神病患者link常 | 来源:发表于2019-01-11 17:17 被阅读11次

    ErrorUtils.js路径

    image.png

    promise路径

    image.png

    ErrorUtils使用

    const ErrorUtils = require('ErrorUtils');
    
    global.ErrorUtils
    
    // error 错误信息
    // isFatal 是否崩溃
    global.ErrorUtils.setGlobalHandler((error, isFatal)=>{
        JSON.stringify(error.message)
        JSON.stringify(error. stack)
    })
    
    ErrorUtils.setGlobalHandler((error, isFatal)=>{
        JSON.stringify(error)
    })
    

    promise使用

    require('promise/setimmediate/rejection-tracking').enable({
        allRejections: true,
        onUnhandled: (id, error = {}) => {
          let message: string;
          let stack: ?string;
    
          const stringValue = Object.prototype.toString.call(error);
          if (stringValue === '[object Error]') {
            message = Error.prototype.toString.call(error);
            stack = error.stack;
          } else {
            /* $FlowFixMe(>=0.54.0 site=react_native_oss) This comment suppresses
             * an error found when Flow v0.54 was deployed. To see the error delete
             * this comment and run Flow. */
            message = require('pretty-format')(error);
          }
    
          const warning =
            `Possible Unhandled Promise Rejection (id: ${id}):\n` +
            `${message}\n` +
            (stack == null ? '' : stack);
          console.warn(warning);
        },
        onHandled: (id) => {
          const warning =
            `Promise Rejection Handled (id: ${id})\n` +
            'This means you can ignore any previous messages of the form ' +
            `"Possible Unhandled Promise Rejection (id: ${id}):"`;
          console.warn(warning);
        },
      });
    

    相关文章

      网友评论

        本文标题:RN-ErrorUtils处理崩溃、promise错误

        本文链接:https://www.haomeiwen.com/subject/rnnxdqtx.html