On Jul 08, 2006, at 8:37 pm, Damaris Fuentes wrote:

>   def LotteryTicket.new_random
>     new( rand( 25 ) + 1, rand( 25 ) + 1, rand( 25 ) + 1 )
>   rescue ArgumentError
>     redo
>   end
>
> end
>
> ticket = LotteryTicket.new_random()
> *****************************************
> When the 3 random numbers created in this last line are not equal,
> everything goes right. However, when two or three are identical, the
> second argument error is raised and, theoretically, the method
> "new_random" should be run automatically again. However, an exception
> cames out:
>
> in `new_random': unexpected redo (LocalJumpError)
>
> This exception should not be launched... (I thought). Suggestions?


He must have meant to type "retry" instead of "redo".  redo is for  
loops only AFAIK

Ashley