diff --git a/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/JupiterPerpsAlarmImpl.tjava b/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/JupiterPerpsAlarmImpl.tjava index 16e99b8..2ecf5e7 100644 --- a/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/JupiterPerpsAlarmImpl.tjava +++ b/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/JupiterPerpsAlarmImpl.tjava @@ -16,10 +16,9 @@ public final class JupiterPerpsAlarmImpl { try { config = Config.parse(args, System.getenv()); } catch (IllegalArgumentException exception) { - System.err.println(exception.getMessage()); printUsage(); - System.exit(2); - return; + String errMsg = "Could not parse configuration for JupiterPerpsAlarm: " + exception.getMessage() + "!"; + throw new IllegalStateException(errMsg, exception); } if (config.selfTest()) { @@ -32,9 +31,8 @@ public final class JupiterPerpsAlarmImpl { try { definitions = AlarmConfigurationParser.parse(config.alarmConfiguration()); } catch (Exception exception) { - System.err.println("Could not load alarm configuration: " + exception.getMessage()); - System.exit(2); - return; + String errMsg = "Could not load alarm configuration: " + exception.getMessage() + "!"; + throw new IllegalStateException(errMsg, exception); } List actions = new ArrayList<>();