Click or drag to resize

Adding an Error

Defining custom errors in an IVI-C driver allows you to return a proper ViStatus return code and a properly formatted error message that can be displayed retrieved by the user via the GetError function. Internally, the errors and warnings defined for a particular IVI-C driver are managed #define macros that begin with PREFIX_ERROR_ or PREFIX_WARN_. Nimbus manages a mapping of error codes to error messages in the Errors.cpp file in the driver project. This map is used to retrieve the error message string and associate it with the driver session when the ReportError or ReportErrorEx utility functions are used in the driver implementation.

To add an error to an IVI-C driver

  1. From Solution Explorer, double-click the Driver Designer node under the Nimbus node.

  2. The Driver Designer opens as a tabbed document window. Select the IVI-C tab.

  3. Right-click on the Errors node and choose Add Error.

  4. A new error is added with a default name and the tree node enters edit mode.

  5. With the error node still in edit mode, type the desired name of the error and hit the Enter key.

    Note Note

    By convention, error names start with PREFIX_ERROR_. However, when typing an error name in the tree view a shortened form of the name can be used. The PREFIX_ERROR_ prefix prefix can be excluded. For example, if the desired error is PREFIX_ERROR_BAD_SWEEP, then type only BAD_SWEEP and the full error name will be expanded when the Enter key is pressed.

    When choosing an error name, the following naming rules apply:

    • The name must be unique within the driver.

    • The name must contain only alphanumeric characters and the underscore (_) character.

    • Spaces are not allowed.

    • The name must be uppercase.

  6. After the error is added, the IVI-C Error General Editor appears in the right portion of the IVI-C Designer. See the help topic for that Item Editor for details on defining the error further.

See Also

Download a complete CHM version of this documentation here.