#include <spatial_abs_hurler.hxx>

Public Member Functions | |
| virtual void | rethrow_error (int error_no)=0 |
| A pure virtual method for resignaling an exception. | |
| Spatial_abs_hurler () | |
| Default constructor. | |
| virtual | ~Spatial_abs_hurler () |
| Default destructor. | |
Role: Exception handling across interfaces is problematic, because different libraries may have different exception handling methods, e.g., C++ try-catch or C setjmp-longjmp. Interface routines taking a Spatial_abs_hurler agree to trap all exceptions, translate them to an integer code, and then call the Spatial_abs_hurlerrethrow_error method with the integer code. To use such an interface routine, clients must pass in a concrete hurler object, such as a DM_rtnerr_hurler, that will resignal the error using the client code's error signalling mechanism.
IMPORTANT: An error code of 0 (zero) is reserved as a no-error condition, and may be passed to the rethrow_error method by the Deformable modeling kernel. Therefore the rethrow_error method of subclasses overriding the Spatial_abs_hurler must not signal an error when passed a 0 argument.
| virtual Spatial_abs_hurler::~Spatial_abs_hurler | ( | ) | [inline, virtual] |
Default destructor.
| Spatial_abs_hurler::Spatial_abs_hurler | ( | ) | [inline] |
Default constructor.
| virtual void Spatial_abs_hurler::rethrow_error | ( | int | error_no | ) | [pure virtual] |
A pure virtual method for resignaling an exception.
Role: This pure virtual method is overriden by a concrete hurler subclass to implement a specific error resignalling strategy (such as C++ exception or integer error code). It must treat a 0 argument as a no-error condition.
| error_no | error code that will be resignaled by the hurler. |
Implemented in DM_rtnerr_hurler, DM_syserr_hurler, and Spatial_syserr_hurler.