Here is one approach that may get you going.
You could have your service return two additional variables:
(1) returnCode, and
And if the service is successful, returnCode is set to zero; otherwise, it is set to some non-zero number and errorMessage is set to hold some error message. You would capture any exceptions and set these variables instead of letting the exception percolate up.
Then the output template could invoke a dsp, passing it the returnCode and errorMessage (and any other variables you want), and then in the dsp, use something like this:
%ifvar returnCode equals(‘0’)%
[display some success message]
Optionally, you could surround the errorMessage in the else leg with a HTML tag to make it bold and/or red or whatever you want to make it show up differently.
I’m sure there are other approaches. But hopefully this will help.