31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
import { serializeError } from "serialize-error";
|
|
|
|
// 处理未捕获的 Promise 拒绝
|
|
process.on('unhandledRejection', (reason, promise) => {
|
|
console.error('[未处理的 Promise 拒绝]');
|
|
if (reason instanceof Error) {
|
|
console.error('错误名称:', reason.name);
|
|
console.error('错误消息:', reason.message);
|
|
console.error('堆栈信息:', reason.stack);
|
|
console.error('序列化详情:', JSON.stringify(serializeError(reason), null, 2));
|
|
} else {
|
|
console.error('原因:', reason);
|
|
console.error('类型:', typeof reason);
|
|
try {
|
|
console.error('JSON:', JSON.stringify(reason, null, 2));
|
|
} catch {
|
|
console.error('(无法序列化)');
|
|
}
|
|
}
|
|
console.error('Promise:', promise);
|
|
});
|
|
|
|
// 处理未捕获的异常
|
|
process.on('uncaughtException', (error) => {
|
|
console.error('[未捕获的异常]');
|
|
console.error('错误名称:', error.name);
|
|
console.error('错误消息:', error.message);
|
|
console.error('堆栈信息:', error.stack);
|
|
console.error('序列化详情:', JSON.stringify(serializeError(error), null, 2));
|
|
});
|