man(1) Manual page archive

 EXCEPTION(2) EXCEPTION(2)
 NAME
 exception - obtain data about exceptions and set exception-
 handling modes
 SYNOPSIS
 include "exception.m";
 exc := load Exception Exception->PATH;
 NOTIFYLEADER, PROPAGATE: con iota;
 getexc: fn(pid: int): (int, string, string);
 setexcmode: fn(mode: int): int;
 DESCRIPTION
 Exception provides functions to fetch data about exceptions
 in other processes and change exception-handling modes. It
 encapsulates exception-related operations on files in
 prog(3).
 When a process incurs an exception, the system saves details
 before processing the exception, following Limbo's rules.
 Getexc returns a tuple (pc, module, description) that
 describes the most recent exception raised in process pid.
 (A process id of -1 is taken to mean the current process.)
 The tuple contains the pc value, the module name, and the
 exception name. The value (0, nil, nil) is returned if no
 exception has occurred.
 By default, when a process incurs an exception that is not
 handled no exception clause matches that exception the
 process is stopped in a `Broken' state for debugging, and
 the exception does not propagate further. Setexcmode
 changes the way that the system handles exceptions for the
 current process and those it later spawns. A mode of
 NOTIFYLEADER makes the invoking process the leader of the
 current process group for exception handling. Subsequently,
 an exception in any process in the current process group
 will atomically destroy all processes in the group except
 the leader, and the exception will be raised in the leader.
 (This works even when the leader itself incurs the excep-
 tion.) A mode of PROPAGATE instead causes an exception in
 any process in the group to be raised in all processes in
 the group, allowing them all to initiate local error
 recovery (ie, within each process).
 SOURCE
 /appl/lib/exception.b
 DIAGNOSTICS
 Both functions return -1 on error and set the system error
 EXCEPTION(2) EXCEPTION(2)
 string.
 SEE ALSO
 prog(3)

AltStyle によって変換されたページ (->オリジナル) /