public static void main(String[] args) throws Exception { ElementsTrackingQueueCliTool client = null; try { client = new ElementsTrackingQueueCliTool(); client.configure(args); } catch (ParseException e) { printHelp(); return; } catch (Throwable e) { printHelp(); // to divide usage from stacktrace output. It's lame, yes. Thread.sleep(10); System.out.println("ERROR"); e.printStackTrace(); return; } client.execute(); }