.TH ERROR 2
.SH NAME
Error, stderr, error, panic, kill, checkload \- Error handling and diagnostics
.SH SYNOPSIS
.EX
include "error.m";
err := load Error Error->PATH;
init: fn();
kill: fn (pid: int, msg: string): int;
error: fn(e: string);
panic: fn(e: string);
checkload: fn[T](x: T, p: string): T;
stderr: ref Sys->FD;
.EE
.SH DESCRIPTION
.B Error
provides functions used to deal with errors that are popular. Before
any other thing,
.B init
must be called to initialize the module.
.PP
.B Kill
writes the
.I msg
given to the control file for the process identified by
.IR pid .
It returns
.B -1
upon errors.
.PP
The functions
.B error
and
.B panic
are similar. They print
the given diagnostic to standard error and
raise an expection. The second one will make
the process break, for debugging.
.PP
.I Checkload
is intented to load a module and return it, checking out
that the module did indeed load. In case of error it calls
.B error
with an appropriate message, using the second argument
as the name of the file that could not be loaded.
.PP
The global
.B stderr
is standard error, for use from other modules as well.
Beware that using
.IR pctl (2)
may leave
.B stderr
closed, despite being not null.
.SH SOURCE
.B /usr/octopus/port/lib/error.b
|