unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: ludovic.courtes@laas.fr (Ludovic Courtès)
Cc: guile-user@gnu.org
Subject: Exceptions
Date: Mon, 26 Sep 2005 14:23:29 +0200	[thread overview]
Message-ID: <873bns2f26.fsf@laas.fr> (raw)
In-Reply-To: <6efab235050925145055ba774c@mail.gmail.com> (Vorfeed Canal's message of "Mon, 26 Sep 2005 01:50:37 +0400")

Hi,

Vorfeed Canal <vorfeed.canal@gmail.com> writes:

> 2. No way to use standard (for modern languages like C++, PHP or Java)
> scheme with throw/catch and EXCEPTIONS HIERARCHY.

[...]

> About second problem. GNU Kawa (if we are talking about GNU GUILE it
> makes sense to borrow from GNU Kawa, right?) has the following
> solution to this problem:
>
> http://per.bothner.com/tmp/kawa/Exceptions.html
>
> primitive-throw exception
>
>     Throws the exception, which must be an instance of a sub-class of
> <java.lang.Throwable>.

Well, this is the object-oriented approach to exceptions.  That doesn't
mean you can't obtain a similar result using Guile's current exception
mechanism.

In particular, the KEY arg passed to `throw' and `catch' can be thought
of as the ``class'' of the exception being thrown/caught.  One of the
additional arguments can be thought of as a subtype of the exception
(see, for instance, `system-error' and `system-error-errno').
Admittedly, this may sometimes be more verbose than the use of a class
hierarchy mechanism.

Fortunately, `guile-library' contains an implementation of SRFI-35's
hierarchical error conditions, and both `guile-library' and Guile (1.7)
implement SRFI-34's exception handling routines.  Only SRFI-36 (I/O
error conditions) is missing.

So I guess there's no valid reason not to use Guile.  :-)

Ludovic.


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


  parent reply	other threads:[~2005-09-26 12:23 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-25 21:50 PHP to GUILE Vorfeed Canal
2005-09-26  1:42 ` Kevin Ryde
2005-09-26  7:27   ` Zeeshan Ali
2005-09-26  8:17     ` Vorfeed Canal
2005-09-26 17:57       ` Zeeshan Ali
2005-09-26 19:05         ` Vorfeed Canal
2005-09-26 19:34           ` Zeeshan Ali
2005-09-26  7:43   ` Vorfeed Canal
2005-09-26 11:17     ` Thien-Thi Nguyen
     [not found]       ` <6efab23505092609331abd82b7@mail.gmail.com>
2005-09-26 16:34         ` Vorfeed Canal
2005-09-26 22:12           ` Thien-Thi Nguyen
2005-09-27 10:11             ` Vorfeed Canal
2005-09-27 12:48               ` Thien-Thi Nguyen
2005-09-27 14:36                 ` Vorfeed Canal
2005-09-27 17:13                   ` Thien-Thi Nguyen
2005-09-27 17:47                     ` Vorfeed Canal
2005-09-27 19:44                       ` Thien-Thi Nguyen
2005-09-26 12:23 ` Ludovic Courtès [this message]
2005-09-26 19:20   ` Exceptions Vorfeed Canal
2005-09-27  8:42     ` Exceptions Ludovic Courtès
2005-09-27 10:54       ` Exceptions Vorfeed Canal
2005-09-27 15:45         ` Exceptions Ludovic Courtès
2005-09-27 17:18           ` Exceptions Vorfeed Canal
2005-09-28  7:10             ` Managing Guile and extensions versions Ludovic Courtès
2005-09-28 20:19               ` Vorfeed Canal
2005-09-29 15:34                 ` Ludovic Courtès
2005-09-29 16:30                   ` Vorfeed Canal
2005-09-30 22:07                     ` Neil Jerram
2005-10-19  7:58                       ` Rob Browning
2005-09-29 22:24               ` Kevin Ryde
2005-09-30  8:00                 ` Ludovic Courtès
2005-10-02  1:59                   ` Kevin Ryde
     [not found]                     ` <6efab2350510020425j76899e29hec6ea7e3dcce6c3@mail.gmail.com>
2005-10-03  1:58                       ` Kevin Ryde
2005-10-04 11:06                         ` Vorfeed Canal
2005-10-04 23:58                           ` Kevin Ryde
2005-10-05 14:18                             ` Vorfeed Canal
2005-10-09  1:53                               ` Kevin Ryde
2005-10-11 10:20                                 ` Vorfeed Canal
2005-10-11 14:56                                   ` Greg Troxel
2005-10-11 21:32                                   ` Kevin Ryde
2005-10-03 12:58                     ` Ludovic Courtès
2005-09-26 19:37 ` PHP to GUILE Neil Jerram
     [not found]   ` <6efab235050926131843ce69e2@mail.gmail.com>
2005-09-26 20:18     ` Vorfeed Canal
2005-09-26 22:39       ` Kevin Ryde
2005-09-27  9:20         ` Vorfeed Canal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=873bns2f26.fsf@laas.fr \
    --to=ludovic.courtes@laas.fr \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).