function formatComponentName(vm: any) { try { if (vm.$root === vm) return "root"; var name = vm._isVue ? (vm.$options && vm.$options.name) || (vm.$options && vm.$options._componentTag) : vm.name; return ( (name ? "component <" + name + ">" : "anonymous component") + (vm._isVue && vm.$options && vm.$options.__file ? " at " + (vm.$options && vm.$options.__file) : "") ); } catch (error) { // 无需出错处理 } } export default function(fundebug: any, Vue: any) { Vue.config.errorHandler = function(err: any, vm: any, info: any) { try { if (vm) { var componentName = formatComponentName(vm); var propsData = vm.$options && vm.$options.propsData; fundebug.notifyError(err, { metaData: { componentName: componentName, propsData: propsData, info: info } }); } else { fundebug.notifyError(err); } } catch (error) { // 无需出错处理 } }; }