• 捕获的异常可以用于解决生产环境的问题

1、errorHandler.js

import http from './http'

(function () {
    // 重写page函数
    let oldPage = Page
    Page = function (obj) {
        // 对Page的传参obj对象的所有函数进行异常捕捉
        for (let key in obj) {
            let oldFunction = obj[key]
            if (typeof oldFunction === 'function') {
                obj[key] = function () {
                    try {
                        return oldFunction.call(this, ...arguments)
                    } catch (e) {
                        const errInfo = `发生了错误!页面:${this.__route__ },方法:${key},错误信息:${e.message }` // 或序列化的Error
                        // 上传信息到后端
                        // http.request({
                        //     url: '',
                        //     method: 'POST',
                        //     data: errInfo
                        // })
                        throw e
                    }
                }
            }
        }
        return oldPage(obj)
    }
})();

2、app.js中使用

require('./common/utils/errorHandler')
文章作者: LrMaker
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 最上级
前端 异常处理
喜欢就支持一下吧