Exception: UncaughtThrowError
- Inherits:
- 
      ArgumentError
      
        - Object
- Exception
- StandardError
- ArgumentError
- UncaughtThrowError
 
- Defined in:
- vm_eval.c,
 vm_eval.c
Overview
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"
Instance Method Summary collapse
- 
  
    
      #initialize(*args)  ⇒ Object 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    Raised when throwis called with a tag which does not have correspondingcatchblock.
- 
  
    
      #tag  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Return the tag object which was called for. 
- 
  
    
      #to_s  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    Returns formatted message with the inspected tag. 
- 
  
    
      #value  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Return the return value which was called for. 
Methods inherited from Exception
#==, #backtrace, #backtrace_locations, #cause, #detailed_message, #exception, exception, #full_message, #inspect, #message, #set_backtrace, to_tty?
Constructor Details
#initialize(*args) ⇒ Object
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"
| 2419 2420 2421 2422 2423 2424 2425 2426 2427 | # File 'vm_eval.c', line 2419
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;
} | 
Instance Method Details
#tag ⇒ Object
Return the tag object which was called for.
| 2436 2437 2438 2439 2440 | # File 'vm_eval.c', line 2436
static VALUE
uncaught_throw_tag(VALUE exc)
{
    return rb_ivar_get(exc, id_tag);
} | 
#to_s ⇒ String
Returns formatted message with the inspected tag.
| 2462 2463 2464 2465 2466 2467 2468 | # File 'vm_eval.c', line 2462
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 ⇒ Object
Return the return value which was called for.
| 2449 2450 2451 2452 2453 | # File 'vm_eval.c', line 2449
static VALUE
uncaught_throw_value(VALUE exc)
{
    return rb_ivar_get(exc, id_value);
} |