From: Robert Klemme Date: 2010-07-02T20:44:32+09:00 Subject: Re: Handling File.open exceptions 2010/7/2 Carl Jenkins : > Robert Klemme wrote: >> On 07/02/2010 03:08 AM, Carl Jenkins wrote: >>>>> 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 > > Alright, but I guess what I am missing is HOW do we handle the > excpetion? I see now recuse statement. You have to write it yourself. > Maybe I am missing something obvious but, with Java the method signature > indicated the exception being thrown. As I said, this is not 100% true. There are unchecked exceptions in Java as well. Practically in Ruby the documentation should state which exceptions can be thrown. > That way in the calling method I > could deal with it. In this example while I understand that the file > handle will be closed how do you handle an exception raised? You catch it and do whatever is appropriate. Did you read a tutorial about Ruby and how to handle exceptions in this language? If not, see http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_exceptions.html Cheers robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/