Returns the previous exception ($!)
at the time this exception was
raised. This is useful for wrapping exceptions and retaining the original
exception information.
VALUE
exc_cause(VALUE exc)
{
ID id_cause;
CONST_ID(id_cause, "cause");
return rb_attr_get(exc, id_cause);
}