This is a program flow engine to clean up the management environment. Although it is true that exceptions are expensive compared to regular code (an archetypal example uses FormatExceptions in a loop that converts strings to ints - hence the need for methods like TryParse), compared to major changes in the user interface, retrieving data from the database and etc., they are very cheap and easy to maintain.
The demo code you are quoting is the exact scenario: the control is about to update all content. The end user clicked on a specific icon to perform a specific action - the exception is not always always. My only beef with this sample code (and I emphasize that this is sample code) is that the action is performed with the mouse down, not under the mouse.
I suggest that the argument "can exceptions be used for this kind of macro thread, or should we establish a rule of hard and fast that they should only be used for error reporting?" But this is another question.
Update
The WinForms team told me:
HideException is our internal exception, which is used to prevent the processing of mouse events by default. We agree with this old-fashioned way to stop code execution, especially considering that we already have DXMouseEventArgs with the option to set e.Handled = true . Unfortunately, XtraTreeList does not currently fully support DXMouseEventArgs . We will add this functionality to the next minor version and update the E2474 example accordingly.
So, it will be archaeological interest in a month or so.
source share