Module Contents#




class altdss.Error.IError(api_util, prefer_lists=False)#

Bases: altdss.common.Base

property Description: str#

Description of error for last operation

Original COM help:

property EarlyAbort: bool#

EarlyAbort controls whether all errors halts the DSS script processing (Compile/Redirect), defaults to True.

(API Extension)

property ExtendedErrors: bool#

Controls whether the extended error mechanism is used. Defaults to True.

Extended errors are errors derived from checks across the API to ensure a valid state. Although many of these checks are already present in the original/official COM interface, the checks do not produce any error message. An error value can be returned by a function but this value can, for many of the functions, be a valid value. As such, the user has no means to detect an invalid API call.

Extended errors use the Error interface to provide a more clear message and should help users, especially new users, to find usage issues earlier.

At Python level, an exception is raised when an error is detected through the Error interface.

The current default state is ON. For compatibility, the user can turn it off to restore the previous behavior.

(API Extension)

property Number: int#

Error Number (returns current value and then resets to zero)

Original COM help:

property UseExceptions: bool#

Controls whether the automatic error checking mechanism is enable, i.e., if the DSS engine errors (from the Error interface) are mapped exception when detected.

When disabled, the user takes responsibility for checking for errors. This can be done through the Error interface. When Error.Number is not zero, there should be an error message in Error.Description. This is compatible with the behavior on the official OpenDSS (Windows-only COM implementation) when AllowForms is disabled.

Users can also use the DSS command Export ErrorLog to inspect for errors.

WARNING: This is a global setting, affects all DSS instances from DSS-Python, and AltDSS.

(API Extension)

__init__(api_util, prefer_lists=False)#