Error Handling

Contents


Overview

Error handling within QSAS derives directly from the error handling within the DVOS core objects.

An essential principle of DVOS is that it will return a valid object even when an operation is invalid. Both the object and its var pointer will return true for the is_nil() test and false for is_ok(). However, an 'invalid' object is actually an object holding a single double value (0.0) but with an id of -1. This ensures that it will not crash if not tested immediately, and also allows for error messages to be attached to the returned object.

Error messages attached to an object usually pertain to the last operation, but may accumulate if new objects are not being created. QSAS error handling provides access to these messages, as well as locally generated messages when the returned object is invalid ( is_nil() returns true ).



DVOS Error Methods

For plugin coding it can be useful to access the DVOS error handling directly.

void clearError() empties the object's error list.
void error(const char*flag) appends the message flag to the object's error list.
DvString getError(size_t i) returns the error message at position i on the object's error list. Default is the last error appended.
int nError() returns the number of error messages on the object's error list. Returns zero if no errors have been detected.


Viewing Object Errors in QSAS

If an operation to create an object did not complete as expected, then the resulting object will have one or more error messages attached to it.

Most windows in QSAS have their own feedback area (and the Main Window uses the bottom bar for feedback). Thus for most errors encountered the operation will be trapped immediately and feedback, including the DVOS message, will be shown in the relevant feedback area.

In some instances, however, an object (possibly 'invalid') will be placed on the Working List. When an object with errors is browsed (double clicked) it will display errors, if there are any, towards the bottom of the browser window. If the error is not serious the error flag can be cleared using the Clear Errors button.




Viewing Errors in the Calculator

Since errors are trapped after each step in a calculation the error feedback is attached to the operation that failed. If a calculation did not proceed through, a red triangle appears on any affected items in the calculation. Hovering the mouse over a triangle will bring up a tooltip with either the DVOS error message or a locally generated calculator message.

The most common error messages in the calculator pertain to the selecyted timeline. Setting the timeline to Automatic often allows operations to proceed. Note, however, that any operation (often inside a black box) that requires specific join handling will require the timeline and join options to be set explicitly.


Tips/FAQ


Page created by Tony Allen, csc-support-dl@imperial.ac.uk

Last up-dated: October 2016 Tony Allen