[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