Share via


Error Handling Considerations for the StylusInput APIs

Error Handling Considerations for the StylusInput APIs

Overview of error handling when using the StylusInput application programming interfaces (APIs).

Unhandled exceptions thrown by a plug-in are caught by the RealTimeStylus object. When a plug-in throws an exception, the normal flow of data is interrupted. The RealTimeStylus object:

  1. Creates an ErrorData object.
  2. Calls the IStylusSyncPlugin.Error or IStylusAsyncPlugin.Error method of the plug-in that threw the exception.
  3. Calls the IStylusSyncPlugin.Error or IStylusAsyncPlugin.Error method of the remaining plug-ins in that collection.
  4. If the plug-in that threw the exception is a synchronous plug-in, the ErrorData object is added to the output queue.
  5. The RealTimeStylus object resumes normal processing of the original data.

If a plug-in throws an exception from its Error method, the RealTimeStylus object catches the exception but does not generate a new ErrorData object. For more information about how ErrorData is added to the queue, see Plug-in Data and the RealTimeStylus Class.

The RealTimeStylus object does not stop processing data from the tablet pen's data stream when one of its plug-ins throws an exception. Depending on your design, some of your plug-ins may need to subscribe to the ErrorData notification and modify their behavior when an exception occurs.