Prev: FasterCSV - write tab delimited files
Next: [Q] synchronize a "mocked" clock in a distributed system
From: Robert Klemme on 2 Jul 2010 07:44 2010/7/2 Carl Jenkins <carljenkins(a)gmail.com>: > 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/
First
|
Prev
|
Pages: 1 2 Prev: FasterCSV - write tab delimited files Next: [Q] synchronize a "mocked" clock in a distributed system |