>> But try:
>>
>> x = raise rescue nil || 1
>>
>> Of course this is a trivial example, but the point is that raise can
>> in fact have a value.
>
> Even more trivial:
>
>    x = raise rescue 1
>
>:-)  But I'd still say that the return value of the call to raise is
> not what's being captured in x.

Of course not :)  viz.

(x = raise) rescue 1; x  #=> nil
x = (raise rescue 1); x  #=> 1

and indeed it's more trivial than the case at the top of this post, I'm not
going to enumerate all possibilities of that ;)

Bye,
Kero.