Prev: FasterCSV - write tab delimited files
Next: [Q] synchronize a "mocked" clock in a distributed system
From: Carl Jenkins on 1 Jul 2010 16:24 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? -- Posted via http://www.ruby-forum.com/.
From: Robert Klemme on 1 Jul 2010 17:14 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 Kind regards robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/
From: Carl Jenkins on 1 Jul 2010 21:08 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 > > Kind regards > > robert Yes - thanks that does help. 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. -- Posted via http://www.ruby-forum.com/.
From: Robert Klemme on 2 Jul 2010 01:49 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/
From: Carl Jenkins on 2 Jul 2010 06:07 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 > > Kind regards > > robert Alright, but I guess what I am missing is HOW do we handle the excpetion? I see now recuse statement. Maybe I am missing something obvious but, with Java the method signature indicated the exception being 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? Thanks for your help! -- Posted via http://www.ruby-forum.com/.
|
Next
|
Last
Pages: 1 2 Prev: FasterCSV - write tab delimited files Next: [Q] synchronize a "mocked" clock in a distributed system |