@writ/utils
Version:
My tool kit
22 lines (20 loc) • 512 B
JavaScript
;
/**
* 规范化错误
* @param {Error} err
*/
export default function error(err) {
var i = 0;
var e = new Error();
var args = Array.prototype.slice.call(arguments, 1);
if (err instanceof Error) {
for (const key in err) {
if (err.hasOwnProperty(key)) {
e[key] = err[key];
}
}
}
e.name = 'FetchError';
e.message = e.message.replace(/\$\d+/g, meta => args ? args[i++] : meta);
return e;
}