import config from '../config'
import { warn } from './debug'
import { inBrowser } from './env'
// 这个方法先调用用户配置的 erroHandler 方法输出, 如果没有配置, 在开发测试环境调用warn输出, 在非浏览器环境用 throw抛出错误
export function handleError (err, vm, info) {
if (config.errorHandler) {
config.errorHandler.call(null, err, vm, info)
} else {
if (process.env.NODE_ENV !== 'production') {
warn(`Error in ${info}:`, vm)
}
/* istanbul ignore else */
if (inBrowser && typeof console !== 'undefined') {
console.error(err)
} else {
throw err
}
}
}