- throw new IOErrorException("Failed to send message: " + e.getMessage());
- } catch (AssertionError e) {
- handleAssertionError(e);
- throw e;
- } catch (GroupNotFoundException e) {
- throw new UserErrorException("Failed to send to group: " + e.getMessage());
- } catch (NotAGroupMemberException e) {
- throw new UserErrorException("Failed to send to group: " + e.getMessage());
- } catch (InvalidNumberException e) {
- throw new UserErrorException("Invalid number: " + e.getMessage());
+ throw new UnexpectedErrorException("Failed to send message: " + e.getMessage() + " (" + e.getClass()
+ .getSimpleName() + ")", e);
+ }
+ }
+
+ private void outputResult(final OutputWriter outputWriter, final long timestamp) {
+ if (outputWriter instanceof PlainTextWriter) {
+ final var writer = (PlainTextWriter) outputWriter;
+ writer.println("{}", timestamp);
+ } else {
+ final var writer = (JsonWriter) outputWriter;
+ writer.write(Map.of("timestamp", timestamp));