icom-wlan-node
Version:
Icom WLAN (CI‑V, audio) protocol implementation for Node.js/TypeScript.
56 lines (55 loc) • 1.9 kB
TypeScript
/**
* 全局错误处理工具函数
*
* 这个模块提供可选的全局错误处理器,帮助用户防止未捕获的 Promise rejection 和异常导致进程崩溃。
*
* 使用方式:
* ```typescript
* import { setupGlobalErrorHandlers } from 'icom-wlan-node/utils/errorHandling';
*
* // 在应用启动时调用(可选)
* setupGlobalErrorHandlers({
* onUnhandledRejection: (reason, promise) => {
* console.error('未处理的 Promise rejection:', reason);
* // 自定义处理逻辑
* },
* onUncaughtException: (error, origin) => {
* console.error('未捕获的异常:', error);
* // 自定义处理逻辑
* }
* });
* ```
*/
export interface GlobalErrorHandlerOptions {
/**
* 处理未捕获的 Promise rejection
* @param reason - rejection 的原因
* @param promise - 被 reject 的 Promise
*/
onUnhandledRejection?: (reason: any, promise: Promise<any>) => void;
/**
* 处理未捕获的异常
* @param error - 异常对象
* @param origin - 异常来源 ('uncaughtException' 或 'unhandledRejection')
*/
onUncaughtException?: (error: Error, origin: string) => void;
/**
* 是否在处理错误后阻止进程退出(默认 true)
* 设为 false 时,错误会被记录但进程仍可能退出
*/
preventExit?: boolean;
}
/**
* 设置全局错误处理器
*
* 注意:这是一个可选的工具函数,仅在需要时使用。
* 如果你的应用已经有全局错误处理逻辑,不需要调用此函数。
*
* @param options - 错误处理选项
* @returns cleanup 函数,用于移除错误处理器
*/
export declare function setupGlobalErrorHandlers(options?: GlobalErrorHandlerOptions): () => void;
/**
* 快速设置:仅防止进程崩溃,使用默认错误处理
*/
export declare function setupBasicErrorProtection(): () => void;