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));
|
|
});
|