UNPKG

icom-wlan-node

Version:

Icom WLAN (CI‑V, audio) protocol implementation for Node.js/TypeScript.

56 lines (55 loc) 1.9 kB
/** * 全局错误处理工具函数 * * 这个模块提供可选的全局错误处理器,帮助用户防止未捕获的 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;