On 07/02/2010 03:08 AM, Carl Jenkins wrote:
> Robert Klemme wrote:
>> On 01.07.2010 22:24, Carl Jenkins wrote:
>>> I was reading the pick axe book (for 1.9 version of ruby) and on page
>>> 155 it talks about exception handling.
>>>
>>> More specifically, it says that beginners usually make the mistake of
>>> putting File.open in the begin end block.
>>>
>>> Now, I am a ruby newbie but, how do you handle exceptions for File.open
>>> if it is not in the begin block? Do I put File.open in its own begin
>>> block?
>>
>> Does this help?
>>
>> http://blog.rubybestpractices.com/posts/rklemme/001-Using_blocks_for_Robustness.html
>>
>
> Yes - thanks that does help.

Good.

> But, I have to be honest it seems a bit strange to not have to use
> exception handling. Especially, when coming from the Java way of doing
> things.

You still need to handle the exception somewhere unless you want to let 
it terminate the program.  It's just the file handle closing that is 
ensured to be done under all circumstances.  And btw you can do the 
similar things in Java with a finally block - it's just awfully more 
verbose.  And even Java has unchecked exceptions (everything that 
inherits Error and RuntimeException).

I've also written another article how to write methods like File.open 
yourself:
http://blog.rubybestpractices.com/posts/rklemme/002_Writing_Block_Methods.html

Kind regards

	robert

-- 
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/