Exception: SignalException
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
| Subclasses: | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Class Chain: 
          self,
           ::Exception | |
| Instance Chain: 
          self,
           ::Exception | |
| Inherits: | Exception | 
| Defined in: | error.c, error.c, signal.c | 
Overview
Class Attribute Summary
::Exception - Inherited
| .to_tty? | Returns  | 
Class Method Summary
- 
    
      .new(sig_name)  ⇒ signal_exception 
    
    constructor
    Construct a new SignalExceptionobject.
::Exception - Inherited
| .exception | With no argument, or if the argument is the same as the receiver, return the receiver. | 
| .new | Construct a new  | 
Instance Method Summary
- 
    
      #signo  ⇒ Numeric 
    
    Returns a signal number. 
::Exception - Inherited
| #== | Equality—If obj is not an  | 
| #backtrace | Returns any backtrace associated with the exception. | 
| #backtrace_locations | Returns any backtrace associated with the exception. | 
| #cause | Returns the previous exception ($!) at the time this exception was raised. | 
| #detailed_message | Processes a string returned by  | 
| #exception | With no argument, or if the argument is the same as the receiver, return the receiver. | 
| #full_message | Returns formatted string of exception. | 
| #inspect | Return this exception’s class name and message. | 
| #message | Returns the result of invoking  | 
| #set_backtrace | Sets the backtrace information associated with  | 
| #to_s | Returns exception’s message (or the name of the exception if no message is set). | 
Constructor Details
    
      .new(sig_name)  ⇒ signal_exception 
      .new(sig_number [, name])  ⇒ signal_exception 
    
  
signal_exception 
      .new(sig_number [, name])  ⇒ signal_exception 
    Construct a new SignalException object.  sig_name should be a known signal name.
# File 'signal.c', line 343
static VALUE
esignal_init(int argc, VALUE *argv, VALUE self)
{
    int argnum = 1;
    VALUE sig = Qnil;
    int signo;
    if (argc > 0) {
        sig = rb_check_to_integer(argv[0], "to_int");
        if (!NIL_P(sig)) argnum = 2;
        else sig = argv[0];
    }
    rb_check_arity(argc, 1, argnum);
    if (argnum == 2) {
        signo = NUM2INT(sig);
        if (signo < 0 || signo > NSIG) {
            rb_raise(rb_eArgError, "invalid signal number (%d)", signo);
        }
        if (argc > 1) {
            sig = argv[1];
        }
        else {
            sig = rb_signo2signm(signo);
        }
    }
    else {
        int prefix;
        signo = signm2signo(&sig, FALSE, FALSE, &prefix);
        if (prefix != signame_prefix_len) {
            sig = rb_str_append(rb_str_new_cstr("SIG"), sig);
        }
    }
    rb_call_super(1, &sig);
    rb_ivar_set(self, id_signo, INT2NUM(signo));
    return self;
}
  Instance Method Details
#signo ⇒ Numeric
Returns a signal number.
# File 'signal.c', line 388
static VALUE
esignal_signo(VALUE self)
{
    return rb_ivar_get(self, id_signo);
}