[capidl] scopes

Jonathan S. Shapiro shap@eros-os.org
Fri, 21 Sep 2001 17:15:39 -0400


> From: "David Chizmadia" on Wednesday, September 19, 2001 10:01 AM
> >
> > That is, we'll need to have a signature of the form:
> >
> >     forward interface bar;
> >     interface foo {
> >         ... stuff ...
> >     }
> >         raises (userexception1, userexception2),
> >         uses (bar, Network::Socket);
>
> Its worth noting that this is pretty boneheaded, since even CORBA doesn't
> allow exceptions to be raised on interfaces! (Not enough tea in my system
> when I tried to think this through:-)

Perhaps it should. As an example, in EROS, the RC_Void exception is in some
sense an exception thrown by a dead interface and not by one of its methods.

More generally, a raises expression on an interface could be taken to mean
that any method of that interface is free to raise that exception.

shap