OS_Erh, Set error handler

Register parameters

RST 20H, DEFB $75
IN:
     A = 0, always (call level, other values reserved for system use)
     B = 0 (always local)
     HL = address of new error handler
     HL = 0, use default system error handler (in lower 8K of segment 0)

OUT:
     Fc = 0, always
     A = old call level
     HL = address of old error handler

Registers changed after return:
     ...CDE../IXIY same
     AFB...HL/.... different

Notes

Make sure that the error handler is not paged out of the corresponding segment, when calling OZ. If an error occurs random information will be executed, since the original code of the particular bank has been paged out.

Setting B (in) can be discarded, OZ does not check nor used this value.

Related system calls

GN_Err, display an interactive error box
GN_Esp, return an extended pointer to a system error message
OS_Erc, get error context
OS_Esc, examine special condition