From: "Berger, Daniel" Date: 2005-12-22T05:48:47+09:00 Subject: Re: [PATCH] Re: IO.open not calling close in block form? > -----Original Message----- > From: nobuyoshi nakada [mailto:nobuyoshi.nakada@ge.com] > Sent: Thursday, December 15, 2005 8:12 PM > To: ruby-core@ruby-lang.org > Subject: Re: [PATCH] Re: IO.open not calling close in block form? > > > Hi, > > At Fri, 16 Dec 2005 10:45:35 +0900, > Mauricio Fernandez wrote in [ruby-core:06912]: > > What about this? > > It won't work fine if closed? method is overridden. > > I think the original problem posted at [ruby-dev:27156] is > which should be honored, a jump from the body or one from the > ensure clause. Currently, this code just returns an > exception instead of raising it. > > def protect > yield > ensure > return $! > end > p protect {raise} # => RuntimeError, not `unhandled exception' Perhaps an explicit return within an ensure clause should raise a LocalJump error. Or would that cause too many other issues? It just strikes me as an odd thing to do. - Dan