07-08-2024 10:27 AM
By "behaving oddly in Actors" it's really more "behaving slightly differently than you'd expect sometimes" due to the dynamically launched nature of things and the fact that it doesn't work in executables.
Default Actor framework behavior is to just abort an Actor that throws an error, which halts the whole chain and closes everything down. Since many of the calls in this context are dynamic, it'll probably just close those down without you getting to see them. This is slightly different from non-dynamically-launched behavior where the whole system kinda just stops, and you can inspect everything.
I've just had some trouble precisely locating where errors actually happened when trying to use automatic handling, so I turned it off years ago and handle my errors explicitly now.
Note that newer versions of LabVIEW can handle nested errors, but I haven't tried those yet. My "simple" handler is to just use popups with more error info in them rather than calling "simple error handler". Trying to nest them all the way up a chain of actors is usually more trouble than it's worth.
07-08-2024 10:33 AM
Ok, I understand. Thanks for the information. Error handling definitely has to be taken care of correctly, I totally agree.
About nested errors in new LabVIEW versions: I just did a quick google research and could not find anything about this. Do you recall the "official" name or which LabVIEW Version is affected? Right now we are using LV2021 but there is none until now (at least that I know of now...)
07-08-2024 05:42 PM
Check out this thread for some further reading:
https://forums.ni.com/t5/LabVIEW/Error-handling-using-Retain-all-errors/td-p/4142758
07-09-2024 03:32 AM
Ok, great 🙂 LabVIEW 2021 already supports this. Thanks a lot for the hint!