我有一个文件,该文件registerExceptionHandler.ts
会在我的应用程序意外崩溃的情况下进行一些日志记录。该文件如下所示:
const handleException = function(ex: Error): void {
console.log('Unexpected exception occured.', { ex });
process.exit(1);
};
export const registerExceptionHandler = function(): void {
process.on('uncaughtException', handleException);
process.on('unhandledRejection', handleException);
};
它可以工作,但是第二次process.on
出现以下错误消息:
“ unhandledRejection”类型的参数不能分配给“ Signals”类型的参数。
为什么?我想念什么?
好的,我明白了:该handleException
函数的签名与unhandledRejection
案例期望的不匹配。
如果我将实现更改为
const handleException = function(ex: Error): void {
console.log('Unexpected exception occured.', { reason: ex.message, ex });
process.exit(1);
};
const handleRejectedPromise = function(
reason: any,
promise: Promise<any>
): void {
console.log('Unexpected exception occured.', { reason, ex: promise });
process.exit(1);
};
export const registerExceptionHandler = function(): void {
process.on('uncaughtException', handleException);
process.on('unhandledRejection', handleRejectedPromise);
};
事情按预期进行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句