In DQMH 6.0 and later, errors generated by loops in the DQMH Main VI contain additional information that can be useful in diagnosing the cause of those errors. For example, when the ‘Simulate MHL Error’’ message generates an error in the DQMH project template, here is the error information that is returned:

Error code 5001 source: My Singleton Module.lvlib:Main.vi<ERR> Simulated error originating at Message Handling Loop in My Singleton Module   <b>Complete call chain:</b>       My Singleton Module.lvlib:Main.vi       My Singleton Module.lvlib:Main.vi.ACBRProxyCaller.45000255<DQMH>MHL Frame: Simulate MHL Error</DQMH> Additional Information: MHL Frame: Simulate MHL Error

Note the bold text… the error cluster returned the name of the MHL frame that generated the error. Similarly, if the EHL returns an error via the ‘Simulate EHL Error’ message, here is the error information that is returned:

Error code 5000 source: My Singleton Module.lvlib:Main.vi<ERR> Simulated error originating at Event Handling Loop in My Singleton Module   <b>Complete call chain:</b>       My Singleton Module.lvlib:Main.vi       My Singleton Module.lvlib:Main.vi.ACBRProxyCaller.45000255<DQMH>Event Handling Loop</DQMH> Additional Information: Event Handling Loop

The DQMH Palette includes Error Handler VIs for the EHL, MHL, and Helper Loops:

There is also a DQMH Validate Tool test that will return a failure if you are not calling the appropriate error handler VI within a particular loop (for example, if you call the MHL error handler VI inside a helper loop).

If you want to specify a custom debug message to override the default EHL/MHL behavior, you can call a Property Node with the Error Debug property prior to calling the Error Handler VI:

 

For convenience, the Error Debug string is provided as an input to the Helper Loop error handler VI: