} catch (final CommandException | ValidationException | IllegalArgumentException e) {
metric.failed(e);
throw e;
} catch (final Throwable t) {
metric.failed(t);
throw new CommandException(t);
} finally {
commandMetricLog.info("{} : {}", key, metric);
}
}