exception man page on Inferno

Man page or keyword search:  
man Server   579 pages
apropos Keyword Search (all sections)
Output format
Inferno logo
[printable version]

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 excep‐
       tion-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	excep‐
       tion  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 fur‐
       ther.   Setexcmode  changes  the way that the system handles exceptions
       for the current process and those it later spawns.   A  mode  of	 NOTI‐
       FYLEADER	 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 pro‐
       cesses in the group except the leader, and the exception will be raised
       in  the	leader.	  (This	 works	even when the leader itself incurs the
       exception.)  A mode of PROPAGATE instead causes	an  exception  in  any
       process in the group to be raised in all processes in the group, allow‐
       ing 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 string.

SEE ALSO
       prog(3)

								  EXCEPTION(2)
[top]

List of man pages available for Inferno

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net