Class: UncaughtThrowError (Ruby 2.3.4)

    In Files

    • vm_eval.c

    Parent

    Class/Module Index [+]

    Quicksearch

    UncaughtThrowError

    Raised when throw is called with a tag which does not have corresponding catch block.

    throw "foo", "bar"
    

    raises the exception:

    UncaughtThrowError: uncaught throw "foo"

    Public Class Methods

    new(*args) click to toggle source

    Document-class: UncaughtThrowError

    Raised when throw is called with a tag which does not have corresponding catch block.

    throw "foo", "bar"
    

    raises the exception:

    UncaughtThrowError: uncaught throw "foo"
     
                   static VALUE
    uncaught_throw_init(int argc, const VALUE *argv, VALUE exc)
    {
        rb_check_arity(argc, 2, UNLIMITED_ARGUMENTS);
        rb_call_super(argc - 2, argv + 2);
        rb_ivar_set(exc, id_tag, argv[0]);
        rb_ivar_set(exc, id_value, argv[1]);
        return exc;
    }
                

    Public Instance Methods

    tag → obj click to toggle source

    Return the tag object which was called for.

     
                   static VALUE
    uncaught_throw_tag(VALUE exc)
    {
        return rb_ivar_get(exc, id_tag);
    }
                
    to_s → string click to toggle source

    Returns formatted message with the inspected tag.

     
                   static VALUE
    uncaught_throw_to_s(VALUE exc)
    {
        VALUE mesg = rb_attr_get(exc, id_mesg);
        VALUE tag = uncaught_throw_tag(exc);
        return rb_str_format(1, &tag, mesg);
    }
                
    value → obj click to toggle source

    Return the return value which was called for.

     
                   static VALUE
    uncaught_throw_value(VALUE exc)
    {
        return rb_ivar_get(exc, id_value);
    }