This is a major api change which results in a simplification of the API. There are only two major functions now:
Kernel#recovery which is used in a case statement to define the recoveries attached to a raised Exception.
Kernel#recover - This used used inside a rescue clause to execute a given recovery.
C-Extension
The C-extension has been significantly reduced in functionality. It is only needed to provide a hook to ruby code so it can attach the list of captured recoveries. After that, it calls the standard raise method.
Collector
This is used as a trick to collect recoveries. When passed to a case statement, it works in collaboration with the Recovery class by overriding the === method. Instead of actually doing a compare it collects the Recovery onto the collector and returns false. When a recovery is invoked, the code returns to inside that method, only this time it returns true.
Recovery
This is used as the identifier for a Recovery instance attached to an Exception. It is very similar to the Exception class except it is identifying recoveries.
Exception#recoveries
Shows the list of recoveries attached to an exception. This is useful when rescue code is trying ti determine the best recovery to take. Additionally, it can be used in Pry to show the list of recoveries (Exception#recoveries#inspect)
This is a major api change which results in a simplification of the API. There are only two major functions now:
Kernel#recovery
which is used in a case statement to define the recoveries attached to a raised Exception.Kernel#recover
- This used used inside a rescue clause to execute a given recovery.C-Extension
The C-extension has been significantly reduced in functionality. It is only needed to provide a hook to ruby code so it can attach the list of captured recoveries. After that, it calls the standard raise method.
Collector
This is used as a trick to collect recoveries. When passed to a case statement, it works in collaboration with the
Recovery
class by overriding the===
method. Instead of actually doing a compare it collects the Recovery onto the collector and returns false. When a recovery is invoked, the code returns to inside that method, only this time it returns true.Recovery
This is used as the identifier for a
Recovery
instance attached to anException
. It is very similar to theException
class except it is identifying recoveries.Exception#recoveries
Shows the list of recoveries attached to an exception. This is useful when
rescue
code is trying ti determine the best recovery to take. Additionally, it can be used in Pry to show the list of recoveries (Exception#recoveries#inspect
)