[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
catcherror problem
I don't know if this is a LeLisp or a Centaur problem, but maybe you
can give me a hint.
I tried to program an own error handling mechanism with Centaur, but
it ended up in an non-interruptible infinit loop desaster -- kill -9
was the only way to stop Centaur. (btw, do you know why Centaur is
not interruptible, and if so, is there a patch available???)
The behavior of my error is very strange one: it seems to depend on
the type of system error that I try to capture with the `catcherror'
form.
(catcherror t (car 'a))
works as expected, but
(catcherror t (+ "coco" "toto"))
is fatal.
Any help would be greatly appreciated.
Here is the script of my session.
; Le-Lisp (by INRIA) version 15.24 ( 2/Janv/91) [sun4OS4]
MU-Prolog 3.2 - Typol $Revision: 1.1 $
TYPOL : tables read.
error : tables read.
** loadmodule : load interpreted module : contrib/Glider/environment
** loadmodule : load interpreted module : contrib/FISC/environment
** loadmodule : load interpreted module : Centaur/tables/Trees/environment
Centaur v.1.2 (2.51.41.63) centaur - Wed May 6 92 18:49:48
= ()
? #:sys-package:itsoft
= (centaur edlin lex)
? (de #:my:syserror (f m a) (prin "*** My error: ") (printerror f m a))
= #:my:syserror
? (setq #:sys-package:itsoft 'my)
= my
? (catcherror t (car 'a))
*** My error: ** car : not a list : a
= (a)
? (catcherror t (+ "coco" "toto"))
*** My error: ** + : not a number : coco
*** My error: ** + : not a number : coco
*** My error: ** + : not a number : coco
*** My error: ** + : not a number : coco
*** My error: ** + : not a number : coco
*** My error: ** + : not a number : coco
*** My error: ** + : not a number : coco
*** My error: ** + : not a number : coco
*** My error: ** + : not a number : coco
*** My error: ** + : not a number : coco
.
.
.
Killed
Guido