|
Authored by: xtifr on Tuesday, May 22 2012 @ 06:34 AM EDT |
In fact, "throws foo" is loosely equivalent to an extra,
alternate return type--a magic one that can cause the callers to abort--but
still, it's just a declaration of something the method can return, like the
normal return type.
Likewise, an interface declaration simply tells the
system that the class's methods take one extra hidden argument--bound to the
object of which it's the class. It's essentially no different from any other
argument to the method.
(Gory technical details: a object's method is
always functionally equivalent to a procedure that takes the associated object
as an argument. In python, this is made semi-explicit, where all method
declarations must have at least one argument (conventionally named
self), and all calls to a method use one less argument than
the declaration does.)
--- Do not meddle in the affairs of Wizards,
for it makes them soggy and hard to light. [ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Tuesday, May 22 2012 @ 11:34 AM EDT |
The question is about the <i>thrown</i> objects.
Specifically, what exception object is thrown.
When you call a function you will either get a return value (perhaps void) from
proper execution or a thrown object.
The judge is wise to ask these questions since the throws are part of the API.
The proper throws are absolutely crucial to interoperability.
--nyarlathotep[ Reply to This | Parent | # ]
|
|
|
|
|