I'm rather confused by Exception Handling.  The descriptions in the FAQ and the Ruby Manual about begin ... rescue ... ensure ... else .... end are not very clear.  Here are some questions I might ask to either author(s):

1. What is a good use of this construct?

2. What if no rescue clause is matched?

3. When is the ensure clause run?  After every exception?  Only when the "normal flow" is complete?  Both?

4. Why should this be used instead of catch and throw?  When is it better to use one over the other?

5. I assume that "retry" restarts the command that failed, not the command after it.  Is this true?  Some languages would use the command after the failure.

6. How does the use of "retry" affect the "rescue" clause?  The ensure clause?



David Douthitt
CUNA & Affiliates
UNIX Systems Administrator
ddouthitt / cuna.com
(608) 231-4922