From: AsamK Date: Tue, 7 Nov 2023 08:28:29 +0000 (+0100) Subject: Reduce use of printStackTrace X-Git-Tag: v0.13.0~110 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/e61f587bfc8f5557587d8c6cd54efcaf6631fdce?ds=sidebyside Reduce use of printStackTrace --- diff --git a/src/main/java/org/asamk/signal/Main.java b/src/main/java/org/asamk/signal/Main.java index 2b805b68..1e05206d 100644 --- a/src/main/java/org/asamk/signal/Main.java +++ b/src/main/java/org/asamk/signal/Main.java @@ -62,11 +62,11 @@ public class Main { } catch (CommandException e) { System.err.println(e.getMessage()); if (verboseLevel > 0 && e.getCause() != null) { - e.getCause().printStackTrace(); + e.getCause().printStackTrace(System.err); } status = getStatusForError(e); } catch (Throwable e) { - e.printStackTrace(); + e.printStackTrace(System.err); status = 2; } System.exit(status); diff --git a/src/main/java/org/asamk/signal/dbus/DbusManagerImpl.java b/src/main/java/org/asamk/signal/dbus/DbusManagerImpl.java index 49aa0e27..e9fc3f9c 100644 --- a/src/main/java/org/asamk/signal/dbus/DbusManagerImpl.java +++ b/src/main/java/org/asamk/signal/dbus/DbusManagerImpl.java @@ -948,7 +948,7 @@ public class DbusManagerImpl implements Manager { }; connection.addSigHandler(Signal.SyncMessageReceivedV2.class, signal, this.dbusSyncHandler); } catch (DBusException e) { - e.printStackTrace(); + throw new RuntimeException(e); } signal.subscribeReceive(); } @@ -968,7 +968,7 @@ public class DbusManagerImpl implements Manager { connection.removeSigHandler(Signal.ReceiptReceivedV2.class, signal, this.dbusRcptHandler); connection.removeSigHandler(Signal.SyncMessageReceivedV2.class, signal, this.dbusSyncHandler); } catch (DBusException e) { - e.printStackTrace(); + throw new RuntimeException(e); } } diff --git a/src/main/java/org/asamk/signal/dbus/DbusReceiveMessageHandler.java b/src/main/java/org/asamk/signal/dbus/DbusReceiveMessageHandler.java index 0ce114cd..29f4a4c9 100644 --- a/src/main/java/org/asamk/signal/dbus/DbusReceiveMessageHandler.java +++ b/src/main/java/org/asamk/signal/dbus/DbusReceiveMessageHandler.java @@ -30,7 +30,7 @@ public class DbusReceiveMessageHandler implements Manager.ReceiveMessageHandler try { sendDbusMessages(envelope); } catch (DBusException e) { - e.printStackTrace(); + throw new RuntimeException(e); } } diff --git a/src/main/java/org/asamk/signal/dbus/DbusSignalControlImpl.java b/src/main/java/org/asamk/signal/dbus/DbusSignalControlImpl.java index 7452eaee..86ad6c1e 100644 --- a/src/main/java/org/asamk/signal/dbus/DbusSignalControlImpl.java +++ b/src/main/java/org/asamk/signal/dbus/DbusSignalControlImpl.java @@ -14,6 +14,8 @@ import org.asamk.signal.manager.api.PinLockedException; import org.asamk.signal.manager.api.RateLimitException; import org.asamk.signal.manager.api.UserAlreadyExistsException; import org.freedesktop.dbus.DBusPath; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.IOException; import java.net.URI; @@ -24,6 +26,7 @@ import java.util.concurrent.TimeoutException; public class DbusSignalControlImpl implements org.asamk.SignalControl { + private final static Logger logger = LoggerFactory.getLogger(DbusSignalControlImpl.class); private final MultiAccountManager c; private final String objectPath; @@ -101,20 +104,21 @@ public class DbusSignalControlImpl implements org.asamk.SignalControl { @Override public String link(final String newDeviceName) throws Error.Failure { + final URI deviceLinkUri; try { - final URI deviceLinkUri = c.getNewProvisioningDeviceLinkUri(); - Thread.ofPlatform().name("dbus-link").start(() -> { - final ProvisioningManager provisioningManager = c.getProvisioningManagerFor(deviceLinkUri); - try { - provisioningManager.finishDeviceLink(newDeviceName); - } catch (IOException | TimeoutException | UserAlreadyExistsException e) { - e.printStackTrace(); - } - }); - return deviceLinkUri.toString(); + deviceLinkUri = c.getNewProvisioningDeviceLinkUri(); } catch (TimeoutException | IOException e) { throw new SignalControl.Error.Failure(e.getClass().getSimpleName() + " " + e.getMessage()); } + Thread.ofPlatform().name("dbus-link").start(() -> { + final ProvisioningManager provisioningManager = c.getProvisioningManagerFor(deviceLinkUri); + try { + provisioningManager.finishDeviceLink(newDeviceName); + } catch (IOException | TimeoutException | UserAlreadyExistsException e) { + logger.warn("Failed to finish linking", e); + } + }); + return deviceLinkUri.toString(); } @Override