Recue-raise vs catch-throw

Dear All

I wonder if anyone could better explain me the difference between
rescue-raise and catch-throw paradigms

Thanks in Advance
Raja

···

--
Posted via http://www.ruby-forum.com/.

Hi Vin Raja,

I wonder if anyone could better explain me the difference between
rescue-raise and catch-throw paradigms

imho, with rescue you catch exceptions and with catch and throw
(opposite of continuations :slight_smile: you skip the rest of a catch block with an
optional return value...

see http://whytheluckystiff.net/ruby/pickaxe/html/tut_exceptions.html
for a more detailed explanation...

Regards
Florian

Hi,

···

Am Donnerstag, 12. Jul 2007, 18:32:49 +0900 schrieb Vin Raja:

I wonder if anyone could better explain me the difference between
rescue-raise and catch-throw paradigms

I never felt no need to use catch-throw anywhere.
Maybe there is some special case I did not get in touch up
to now.

Bertram

--
Bertram Scharpf
Stuttgart, Deutschland/Germany
http://www.bertram-scharpf.de

With raise you operate on descendants of Exception class.
With throw you can use any object.

I suppose this is the main difference.

Raise should be used for errors and similiar things, while throw just
for standard operations. It would be very confusing for the reader of
the code if raise would be used to pass data, and not for being the
signal that some dangerous/unusual condition may be handled here.
I guess.

Of course, I may be wrong :wink:

···

On 2007-07-12 18:32:49 +0900 (Thu, Jul), Vin Raja wrote:

Dear All

I wonder if anyone could better explain me the difference between
rescue-raise and catch-throw paradigms

Thanks in Advance
Raja

--
I have tried to Google this question, but Google said:
"Application error, Rails application failed to start properly"

Florian
see http://whytheluckystiff.net/ruby/pickaxe/html/tut_exceptions.html

Thanks

Bertram Scharpf wrote:
I never felt no need to use catch-throw anywhere.

Even I do wonder

···

---
Raja

--
Posted via http://www.ruby-forum.com/\.

raise / rescue is for error handling. catch / throw is for control
flow. catch / flow is especially useful if you have multiple exits for
a piece of code. Although I have to say I rarely felt the need for
this. Basically it's the same as a method with multiple "return"s only
you do not leave the current scope.

Kind regards

robert

···

2007/7/12, Vin Raja <vineetraja@gmail.com>:

>Florian
>see http://whytheluckystiff.net/ruby/pickaxe/html/tut_exceptions.html
Thanks

>Bertram Scharpf wrote:
> I never felt no need to use catch-throw anywhere.
Even I do wonder

Some deep recursive search comes to mind..

···

On 2007-07-12 19:26:11 +0900 (Thu, Jul), Vin Raja wrote:

>Bertram Scharpf wrote:
> I never felt no need to use catch-throw anywhere.
Even I do wonder

--
I have tried to Google this question, but Google said:
"Application error, Rails application failed to start properly"

Mariusz Pękala wrote:

Some deep recursive search comes to mind..

and that smells of a goto usecase !

or perhaps even I could be wrong :slight_smile:

···

--
Posted via http://www.ruby-forum.com/\.

Oh no! He used the g-word!! Decontaminate the mailing list!

:wink:

robert

···

2007/7/12, Vin Raja <vineetraja@gmail.com>:

Mariusz Pękala wrote:
> Some deep recursive search comes to mind..

and that smells of a goto usecase !