Yehuda Katz wrote:
> This manifests itself in rescues as well:
> 
> def caller_in_eval
>   eval("raise 'w00t'")
> end
> 
> def method_with_block
>   begin
>     yield
>   rescue
>     p "method_with_block"
>   end
> end
> 
> method_with_block do
>   begin
>     caller_in_eval
>   rescue
>     p "calling m_w_b"
>   end
> end
> 
> You would expect to see "method_with_block" but instead get "calling m_w_b"

Why would you expect that? The "calling m_w_b" rescue is the first one 
encountered after the exception is raised.

- Cahrlie