[Progress Communities] [Progress OpenEdge ABL] Forum Post: PASOE still makes mysterious distinction between RETURN ERROR CH-Error versus UNDO THROW NE

Status
Not open for further replies.
D

dbeavon

Guest
I've noticed that PASOE is more happy with the statement, RETURN ERROR CH-Error than it is when THROW'ing the equivalent AppError. When THROW'ng an AppError you receive this message in the PASOE agent log. [19/01/14@12:27:39.714-0500] P-007928 T-008080 1 AS-4 -- Cannot throw or return error/stop object to remote client because object is not serializable or client does not support it. (14438) ... But in all other respects, we seem to get the same behavior when using the RETURN ERROR statement. I recall that the same was true with "classic" appserver. There is additional information in the KB that confirms a difference (in classic appserver) between when an AppError is raised via "THROW" or "RETURN ERROR". See: Progress KB - Error trying to pass an Error Object back to a client across the AppServer Boundary Does anyone know how/why PASOE makes a distinction between those two variations? Based on my experience with structured error handling (SEH) in ABL, the two types of statements are accomplishing the same thing. Also, given that PASOE is able to make a distinction, would there be any way for an ABL developer to make a distinction between an AppError that was raised by "RETURN ERROR" vs "UNDO, THROW". In the code below where the comment is, should I be able to find out how the error was raised, just like PASOE is somehow able to ??? DO TRANSACTION: RUN SomeFailingProgram.p. CATCH v_AppError AS Progress.Lang.AppError: /* ---> WAS THIS A RETURN ERROR OR AN UNDO, THROW??? */ END CATCH. END. Any help would be appreciated. It is not clear to me how PASOE treats errors that are being relayed back to the client application (a .Net openclient). Thanks in advance, David

Continue reading...
 
Status
Not open for further replies.
Top