Errors
Decoding Errors in Custom Modules
This article explains how to handle execution errors in custom modules.
Introduction
When building or interacting with a custom module one if its contained modules will sometimes encounter a processing problem and will enter an error state. Since Proto utilizes strict event-driven processing, an error in a module results directly from a message processing problem. When an error state arises, Proto displays the specific problem so it can be rectified.
Understanding execution in Proto is the key to determining the cause of an error in your custom module. An event begins with a change to a module’s Property Panel, Viewer control, or an internal event and is propagated along all of its appropriate output connections (which connections are triggered is specified in the Output Menu section of each module’s help documentation). The receiving modules process their input messages and further propagate newly processed output messages to their corresponding output connections. Execution continues until no more triggered connections remain. If a module in the execution path enters an error state, it ceases execution by blocking the transmission of output messages.
Status Bar
When an error occurs in the execution flow, an alert message is displayed in the status bar. Clicking on the error message in the status bar will display a ToolTip that provides more information on the error.
Color Coding
When any module enters an error state, all modules involved in the execution chain (which includes all modules that would send or receive a message during the last event) are distinguished graphically in the Builder according to their state:
- A module in an error state is displayed with a red icon with an exclamation point.
- A module which processed normally is displayed with green icon with a check box.
- A module which did not receive an input message due to an error earlier in the execution path is displayed with a yellow icon with a question mark.
- Modules not affected by the execution remain unchanged.
Investigating an Error State
When a module enters an error state and turns red, a ToolTip appears to provide a more detailed explanation of the specific error that the module encountered. Furthermore, you can monitor the most recent message sent over any connection with the Data View. Examining a module marked with red can help reveal the problem with your custom module. Keep in mind that the problem might be with a module marked green which executed properly but sent an undesirable message to a module further down the execution path. Refer to the specific module’s documentation for more information about its functionality or a specific input connection.
See Also:
- Execution
- Further information about execution in Proto