aboutsummaryrefslogtreecommitdiff
path: root/doc/ref/guile/util-exceptions.texi
blob: 34ba33f9e971308e6c6919dec6beece9fe565aa6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
@node Exception & Warning Utilities
@section Exception & Warning Utilities
@anchor{warning}

Warnings are like exceptions, but only fatal when wanted.

@code{(hnh util exceptions)}

@defun warning fmt args ...
Emit a warning.

If the parameter @var{warnings-are-errors} is true, then an exception
of type @code{'warning} will be raised, with @var{fmt} and @var{args}
as arguments.

If that parameter is false, then the procedure in
@var{warning-handler} will instead be called.
@end defun

@deftp {parameter} warning-handler
Parameter containing proceudre which will be called for non-throwing
warnings. This procedure is assumed by the program to log the warning
in some way, and continue program flow. But anything goes.

The procedure is given a format specifier (as per Scheme's basic
@code{format}), along with the correct number of arguments.
@end deftp

@deftp {parameter} warnings-are-errors
Boolean parameter, which if set causes warnings to be thrown as exceptions.
@end deftp

@defun fatal fmt args ...
Display the message in fmt, populated with args, then raises the UNIX
signal SIGINT, which kills the program.
@end defun

@defun filter-stack pred? stack
@c TODO document me
@end defun