Hi all,

continuing my experiments to catch exceptions in chicken, I've been
working out a more core-chicken-only example.

> > > Let's see.  Is this correct as a minimal example?
> > > --- %< tg.scm ----
> > > (require-extension srfi-34)
> > > (print (guard (ex (else 'success)) (call-with-input-string ")" read)))
> > > --- %< ----
> > 
> > no, for two reasons:
> > first, you need to (require-extension ports) for call-with-input-string.

Now I tried:

--- %< tg.scm ----
(require-extension ports)
(print (condition-case
        (call-with-input-string ")" read)
        (var () 'condition-case-does-a-better-job-than-guard)))
--- %< ----

And here the result:

$ csc -o tg tg.scm
$ ./tg 
Error: unexpected list terminator: #\)

        Call history:

        ##sys#require           
        call-with-current-continuation          
        with-exception-handler          
        ##sys#call-with-values          
        call-with-input-string                  <--

Looks as if condition-case is - too - unable to catch the exception.

Did I still do anything wrong?

best regards

/Jörg


_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to