Hello, Would someone please clarify one point ? The "value" of a method call is the value of the "last" expression evaluated. So far I assumed (but never checked) that "ensure" block were irrelevant about that (i.e. the "returned" value would be the "last" one "before" the "ensure"). Apparently I was wrong. That slightly bothers me. I would however agree that an explicit "return" inside an "insure" section should "override" the returned value of the main block. What is actually happening ? Jean-Hugues At 04:44 18/04/2002 +0900, Dale Martenson wrote: >After reading my own last post, let me clarify this by saying that the >"ensure" clause will be executed as the block terminates no matter what >happens in the block: normal exit, embedded return statements, raised and >handled exceptions and uncaught exceptions. My example doesn't really show >this, but it is true. --------------------------------------------------------------------------- Web: http://hdl.handle.net/1030.37/1.1 Phone: +33 (0) 4 92 27 74 17