@gluonjs/reactivity


@gluonjs/reactivity / packages/reactivity/src / setReactivityErrorHandler

Function: setReactivityErrorHandler()

setReactivityErrorHandler(handler): () => void

Parameters

handler

ReactivityErrorHandler | undefined

Returns

() => void

Example

Install the process-level fallback for unhandled effect, scheduler, and cleanup failures, then restore the previous handler:

ts
import {
  queueJob,
  setReactivityErrorHandler,
  type ReactivityErrorContext,
  type ReactivityErrorHandler,
  type ReactivityErrorPhase,
} from '@gluonjs/reactivity';

const errors: ReactivityErrorContext[] = [];
const handler: ReactivityErrorHandler = (context) => { errors.push(context); };
const phase: ReactivityErrorPhase = 'scheduler';
const restore = setReactivityErrorHandler(handler);
queueJob(() => { throw new Error('Inventory failed'); });
await Promise.resolve();
console.log(errors[0]?.phase === phase);
restore();