Exception: Lazy::LazyException

Inherits:
DivergenceError show all
Defined in:
lib/core/facets/lazy.rb

Overview

Wraps an exception raised by a lazy computation.

The reason we wrap such exceptions in LazyException is that they need to be distinguishable from similar exceptions which might normally be raised by whatever strict code we happen to be in at the time.

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Methods inherited from Exception

#detail, raised?, suppress

Constructor Details

- (LazyException) initialize(reason)

A new instance of LazyException



47
48
49
50
51
# File 'lib/core/facets/lazy.rb', line 47

def initialize( reason )
  @reason = reason
  super( "Exception in lazy computation: #{ reason } (#{ reason.class })" )
  set_backtrace( reason.backtrace.dup ) if reason
end

Instance Attribute Details

- (Object) reason (readonly)

:nodoc:



45
46
47
# File 'lib/core/facets/lazy.rb', line 45

def reason
  @reason
end