LabVIEW Development Best Practices Discussions

Showing results for 
Search instead for 
Did you mean: 

"SOLID Error Handling" presentation at NIWeek 2017


I would be presenting on the subject [TS0251] at NIWeek 2017 Advanced User Track (designed by LabVIEW Champions) at 4:45 PM on Tuesday, May 23 in Ballroom G (don’t miss other Champion’s presentations in the same room as well – agenda may be found here).

This is a substantially improved version of the presentation I gave at the 2016 CLA-E Summit in Berlin – you may want to join even if you saw the original one. As had been mentioned in NIWeek Speaker Training “… most of us need to hear something 6 to 7 times before we remember” Smiley Wink



Error Clusters are one of the most frequently used LabVIEW features. They did not evolve over the years, yet still provide adequate error handling support for smaller customer applications. However, developers working on larger size projects with emphasis on reusable code need something more flexible and scalable these days.


Presentation discusses how to properly implement Error Handling in SOLID-compliant applications, shows Error Handling challenges arising from use of external libraries (3-d party, other teams/projects within your organization) and provides a detailed review of ArT_Errors - a scalable low-overhead class-based library using LabVIEW Error Cluster wires to propagate both - Error Cluster data and flattened Error Objects to Error Handling VIs without creating ripples throughout application code. ArT_Errors had been designed using SOLID Principles and allows adding custom error data and altering error handling behaviors without changing the library code (Open-Closed Principle).


Hope seeing you soon in G,




TS0251 References & Resources


Error Handling (General)

[1] What it Really Takes to Handle Exceptional Conditions, Rebecca Wirfs-Brock, Addison-Wesley, 2003

[2] Exception Handling (Wikipedia)


Error Handling in LabVIEW

[3] Advanced Error Handling Techniques in LabVIEW, Chris Relf & Brian Gapske, NIWeek 2009

[4] GPower User Guide for the Error & Warning LabVIEW Toolset


SOLID Principles

[5] Agile Software Development, Robert C. Martin, Prentice Hall, 2003

[6] On Using Dependency Inversion, Dmitry Sagatelyan, CLA Summit 2014, Austin

[7] TS9518: How Applying Agile SW Design Principles Changed My Designs and Code, Dmitry  Sagatelyan, NIWeek 2016



Message 1 of 2

Please find presentation  slides attached. The (zipped) PowerPoint 2007 file has a fair amount of animations and is best viewed in Slide Show mode.
PDF file includes slide notes. To see notes either hover over an icon in the top left corner of a page (containing Notes) or right-click the icon and select “Open All Pop-ups” option.  Diagrams & images on slides with animations are stacked and may obscure images farther out along Z axis.
Notes are essential for better understanding this presentation.



Message 2 of 2