BRP determines the return state of a user exit by examining all the output written to the "console" (STDOUT in Perl terminology) by the commands executed by the user exit. The examination is done after the user exit completes execution and control returns back to the BRP run. If there is no output BRP assumes the user exit commands completed successfully. If there is any output found BRP assumes there was a SEVERE level error and will immediately stop the run.
BRP will include any output it finds in a SEVERE level message in the main BRP log. Any user exit executed utility should be sure to make effective use of this behavior. User exits do not have any knowledge of what commands or utilities they are executing. Therefore a message written to the console should contain the utility or command name along with an appropriately brief message. The details behind a utility failure can be included in the utility's own log.