So, after the upgrade for P10, there is a couple of new warnings out there, one of them being the Deprecated 'Session.ExceptionMessage' ('Session.ExceptionMessage' is being deprecated. Use the 'ExceptionMessage' runtime property of the 'Exception Handler' node, available inside exception handler flows.)
This is nice, but how do we manage to use ExceptionMessage in the same manner that, lets say, the InternalError page that was automatically built when you created a new app (it prints out the error message on screen)?
I don't know what OS intended to do here, of course, but you can add an exception handler ("OnException") to a UI Flow to handle uncaught exceptions. If you need to display an InternalError page, you can pass the exception message as a parameter to the page you're redirecting to (or set a session variable yourself).
Perhaps not the most elegant solution, but it should work.
The new error handling is more localised and easier to control in OS10 and is more aligned with a Try/Catch way of thinking.
The primary warning that I have seen relates to the InternalError screen which is only relevant when running in the Personal Area. To remove that warning I add a text input ExceptionMessage and replace Session.ExceptionMessage in the expression.
Other than that I have not had any other issues when I have been upgrading.
That is the correct behavior and it is what OutSystems is expecting you to do.
In a next version, that variable will be removed so this is a transitory version, allowing users to fix their Applications before OutSystems remove that variable.
As you said, the new Error handling is more localized and easier to control and it is more similar with Try/Catch way. OutSystems want to improve and do better every time and I think that this is the correct way for Error Handling.
If I could help you on this, let me know.
Best regards :)
What's not making any sense is, when creating a new web application in 10, the exact warning is created. Before ending such a procedure, shouldn't the latest version be creating handler the way it was intended?
You're correct. We will fix it
Thanks for the heads up.