ruby1.6で、
・成功するまで3回試行する
・3回試行してダメならあきらめる
の時、

result = nil
RETRY = 3
i = 0
begin while ( i < RETRY && ! result )
 i += 1
 puts "Try: " + i.to_s
 result = do_something()
rescue
 retry
end
puts "end."

と、ruby-lang.orgのrubyリファレンスマニュアルにある"while 修飾子"に
従って書いたつもりなんですが、rescueの行とputs "end."の行でparse error
で叱られます。
自分にはなぜparse errorになるのかがわからないのです。
どうすればうまく行くのでしょうか?