void rb_mod_syserr_fail_str(VALUE mod, int e, VALUE mesg) { VALUE exc = rb_syserr_new_str(e, mesg); rb_extend_object(exc, mod); rb_exc_raise(exc); }
VALUE rb_syserr_new(int n, const char *mesg) { VALUE arg; arg = mesg ? rb_str_new2(mesg) : Qnil; return rb_syserr_new_str(n, arg); }
static VALUE make_errno_exc_str(VALUE mesg) { int n = errno; errno = 0; if (!mesg) mesg = Qnil; if (n == 0) { const char *s = !NIL_P(mesg) ? RSTRING_PTR(mesg) : ""; rb_bug("rb_sys_fail_str(%s) - errno == 0", s); } return rb_syserr_new_str(n, mesg); }
void rb_syserr_fail_str(int e, VALUE mesg) { rb_exc_raise(rb_syserr_new_str(e, mesg)); }