When exceptions are thrown in programs that are run using Weld-SE's StartMain class, the JRE outputs the resulting message and stack-trace to System.err. In a containerized environment, it's common to use an external log processing system (e.g. ELK or Splunk) which will commonly fail to parse this output as it's not formatted as a log entry.
A second problem occurs when certain exceptions are thrown as the exit code can be variable.
Properly handling stray Throwables in StartMain's main() method solves this problem, allowing the JBoss logging system to output the application's final message and stack-trace, formatted to match the configuration of the system.