[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

ruby exception handling

Franck Yu

11/9/2007 9:30:00 AM

Hi,
I am creating a web site using Ruby on Rails and Paypal NVP API. I see
in Paypal SDK something like:

def nameOfaMethod
...
rescue
...
end

and I just want to make sure if it is correct. Usually rescue clause is
in a begin ... end block. Can def replace begin as begin has an end and
represents a block as well. Thanks!

Franck
--
Posted via http://www.ruby-....

5 Answers

dam

11/9/2007 9:48:00 AM

0

Hello,

On Fri, Nov 09, 2007 at 06:29:40PM +0900, Franck Yu wrote:
> Hi,
> I am creating a web site using Ruby on Rails and Paypal NVP API. I see
> in Paypal SDK something like:
>
> def nameOfaMethod
> ...
> rescue
> ...
> end
>
> and I just want to make sure if it is correct. Usually rescue clause is
> in a begin ... end block. Can def replace begin as begin has an end and
> represents a block as well. Thanks!

The body of a method definition can be considered as a begin/end block.
So the code is OK.

Regards,

--
Damien MERENNE <dam@cosinux.org>
http://blog.co...



Franck Yu

11/9/2007 10:35:00 AM

0

Hi Damien,

It makes sense but where is it documented? In the Ruby programming
language spec? Where can I find the info?
Thank you for your answer!


Franck

Damien Merenne wrote:
> Hello,
>
> On Fri, Nov 09, 2007 at 06:29:40PM +0900, Franck Yu wrote:
>> and I just want to make sure if it is correct. Usually rescue clause is
>> in a begin ... end block. Can def replace begin as begin has an end and
>> represents a block as well. Thanks!
>
> The body of a method definition can be considered as a begin/end block.
> So the code is OK.
>
> Regards,

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

dam

11/9/2007 10:45:00 AM

0

On Fri, Nov 09, 2007 at 07:35:05PM +0900, Franck Yu wrote:
>
> Damien Merenne wrote:
> > The body of a method definition can be considered as a begin/end block.
> > So the code is OK.
>
> It makes sense but where is it documented? In the Ruby programming
> language spec? Where can I find the info?

I think it's in the pickaxe but I can't find it now. It's in the spec:
http://www.headius.com/rubyspec/index.p..., the first line.

Regards,

--
Damien MERENNE <dam@cosinux.org>
http://blog.co...



7stud --

11/9/2007 8:18:00 PM

0

Franck Yu wrote:
>
> It makes sense but where is it documented? In the Ruby programming
> language spec? Where can I find the info?

In pickaxe2, Chapter 22: The Ruby Language, section Method Definition,
p. 345, the listing for the general syntax of a method definition does
not indicate that a rescue block can be attached to a method. However,
on p. 347 the text says,

"The body of a method acts as if it were a begin/end block, in that it
may contain exception handling statements(rescue, else, and ensure)."

Also, in the same chapter, section Exceptions, p. 361, it says,

"A block or method may have multiple rescue clauses....When an exception
is raised, Ruby scans up the call stack until it finds an enclosing
begin/end block, method body, or statement with a rescue modifier."


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

Franck Yu

11/12/2007 3:11:00 PM

0

7stud -- wrote:
> Franck Yu wrote:

Thank you very much for your help, Damien and 7stud!
--
Posted via http://www.ruby-....