Exception: Lazy::LazyException
- Inherits:
-
DivergenceError
- Object
- Exception
- DivergenceError
- Lazy::LazyException
- 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
-
#reason ⇒ Object
readonly
the original exception.
Instance Method Summary collapse
-
#initialize(reason) ⇒ LazyException
constructor
A new instance of LazyException.
Methods inherited from Exception
Constructor Details
#initialize(reason) ⇒ LazyException
Returns 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
#reason ⇒ Object (readonly)
the original exception
45 46 47 |
# File 'lib/core/facets/lazy.rb', line 45 def reason @reason end |