If I recall correctly, some (all?) system errors, when thrown, bubble up and interrupt processing even if they’re thrown from within a logic block that has been called with Adopt All Messages = false. Is that correct? Is this documented somewhere if so?
Not correct. But your remembering is true for logic blocks still using the deprecated form of Call A Logic Block - labeled with red text telling callers about its deprecated state - which has been deprecated for several years already.
Since you reference “adopt all messages” it is clear you are not using that deprecated action. That feature was part of the error handling overhaul that went with the replacement action.
So to make sure I’m understanding correctly, in the attached example where Adopt All Messages = false, all errors returned from RetrieveItemOrgUnits including system errors are expected to be trapped in the ItemOrgUnitsErrors message list?
I feel like I’m getting set up here, Ian.
Yes, all the errors, even “system” are in that list. Your caveat in this particular situation is that there are some things that can go wrong where the DB connection itself is no longer usable so even though you caught it the transaction is trash. If you want those trapped as well you should check the new transaction box.
Trashed DB Connections was the situation I must have been thinking of - thankyou! Not trying to set you up, just I was feeling sure there some situations where ‘something bad happens’ and you can’t trap it in the message list. The archive I used to search for prior discussions on this type of thing recently went away so trying to re-baseline some of those here.
