Re: Dual nature (was Re: Exceptions and Objects)

2000-08-16 Thread Peter Scott
At 10:56 PM 8/16/00 -0400, Chaim Frenkel wrote: > > "PS" == Peter Scott <[EMAIL PROTECTED]> writes: > >PS> At 07:00 PM 8/16/00 -0400, Chaim Frenkel wrote: > >> Perhaps, throw can carry a return value? > >> > >> throw {"return value"} $exception; > >> If there is an active try/catch context the

Re: Dual nature (was Re: Exceptions and Objects)

2000-08-16 Thread Chaim Frenkel
> "PS" == Peter Scott <[EMAIL PROTECTED]> writes: PS> At 07:00 PM 8/16/00 -0400, Chaim Frenkel wrote: >> Perhaps, throw can carry a return value? >> >> throw {"return value"} $exception; >> If there is an active try/catch context then the $exception would >> be propogated, otherwise $@ would

Re: Dual nature (was Re: Exceptions and Objects)

2000-08-16 Thread Peter Scott
At 07:00 PM 8/16/00 -0400, Chaim Frenkel wrote: >Perhaps, throw can carry a return value? > > throw {"return value"} $exception; >If there is an active try/catch context then the $exception would >be propogated, otherwise $@ would get loaded with $exception and >the return value would be t

Re: Dual nature (was Re: Exceptions and Objects)

2000-08-16 Thread Chaim Frenkel
Perhaps, throw can carry a return value? throw {"return value"} $exception; If there is an active try/catch context then the $exception would be propogated, otherwise $@ would get loaded with $exception and the return value would be the specified value. If not specified then it would be

Re: Exceptions and Objects

2000-08-16 Thread Peter Scott
At 03:40 PM 8/16/00 -0500, Jonathan Scott Duff wrote: >Well, those of you writing "exception" RFCs be sure and include this >example in there somewhere (if it's relevant to your RFC of course). Done. >I'm done thinking about exceptions now. Some of us are hoping to do the same RSN :-) -- Peter

Re: Exceptions and Objects

2000-08-16 Thread Jonathan Scott Duff
On Wed, Aug 16, 2000 at 12:52:07PM -0700, Peter Scott wrote: > At 09:29 AM 8/16/00 -0500, Jonathan Scott Duff wrote: > >Let me draw another picture (with "try" and "catch" this time): > > > > try { > > # code that may cause exceptions > > } catch {

Re: Exceptions and Objects

2000-08-16 Thread Peter Scott
At 09:29 AM 8/16/00 -0500, Jonathan Scott Duff wrote: >Let me draw another picture (with "try" and "catch" this time): > > try { > # code that may cause exceptions > } catch { # catches ALL exceptions > switch ($@->^_) { >

Re: Dual nature (was Re: Exceptions and Objects)

2000-08-16 Thread Jonathan Scott Duff
On Wed, Aug 16, 2000 at 12:42:24PM -0700, Peter Scott wrote: > At 10:16 AM 8/16/00 -0400, Chaim Frenkel wrote: > >One issue that haven't seen addressed, is how to _not_ have exceptions. > > > >I want to use a core module (non-core can do anything they want) but > >I'd like to write it in procedura

Re: Dual nature (was Re: Exceptions and Objects)

2000-08-16 Thread Peter Scott
At 10:16 AM 8/16/00 -0400, Chaim Frenkel wrote: >One issue that haven't seen addressed, is how to _not_ have exceptions. > >I want to use a core module (non-core can do anything they want) but >I'd like to write it in procedural mode. > > try { > $obj->method... > }

Re: Exceptions and Objects

2000-08-16 Thread Jonathan Scott Duff
On Tue, Aug 15, 2000 at 11:59:40PM -0600, Tony Olekshy wrote: > Problem 1: > > In a large lexical scope, you have no preindication that intended > non-local flow control is in effect until you read all the way to > the end of the scope. The equivalent of your example in more human- > friendly te

Dual nature (was Re: Exceptions and Objects)

2000-08-16 Thread Chaim Frenkel
> "TO" == Tony Olekshy <[EMAIL PROTECTED]> writes: TO> Using exceptions for failure signalling is a more robust software TO> engineering technique, but only if your exception handling mechanism TO> doesn't "encourage" you to drop exceptions of the floor. Is this proven or just an assertion o

Re: Exceptions and Objects

2000-08-15 Thread Tony Olekshy
I have moved this to [EMAIL PROTECTED] Jonathan Scott Duff wrote: > > Okay, imagine something for me: > > # some code here that may cause an exception > exceptions {# when thrown, we end up here > switch ($@->^_) { > case canFoo { ... }