From: AsamK Date: Wed, 27 Oct 2021 18:00:36 +0000 (+0200) Subject: Improve dbus error handling X-Git-Tag: v0.10.0~102 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/1fae09433d79ede67febe3257abf1f1dbd2146e6?ds=sidebyside Improve dbus error handling Fixes #787 --- diff --git a/src/main/java/org/asamk/Signal.java b/src/main/java/org/asamk/Signal.java index 349671b3..240930dc 100644 --- a/src/main/java/org/asamk/Signal.java +++ b/src/main/java/org/asamk/Signal.java @@ -388,63 +388,67 @@ public interface Signal extends DBusInterface { class AttachmentInvalid extends DBusExecutionException { public AttachmentInvalid(final String message) { - super(message); + super("Invalid attachment: " + message); } } class InvalidUri extends DBusExecutionException { public InvalidUri(final String message) { - super(message); + super("Invalid uri: " + message); } } class Failure extends DBusExecutionException { + public Failure(final Exception e) { + super("Failure: " + e.getMessage() + " (" + e.getClass().getSimpleName() + ")"); + } + public Failure(final String message) { - super(message); + super("Failure: " + message); } } class DeviceNotFound extends DBusExecutionException { public DeviceNotFound(final String message) { - super(message); + super("Device not found: " + message); } } class GroupNotFound extends DBusExecutionException { public GroupNotFound(final String message) { - super(message); + super("Group not found: " + message); } } class InvalidGroupId extends DBusExecutionException { public InvalidGroupId(final String message) { - super(message); + super("Invalid group id: " + message); } } class LastGroupAdmin extends DBusExecutionException { public LastGroupAdmin(final String message) { - super(message); + super("Last group admin: " + message); } } class InvalidNumber extends DBusExecutionException { public InvalidNumber(final String message) { - super(message); + super("Invalid number: " + message); } } class UntrustedIdentity extends DBusExecutionException { public UntrustedIdentity(final String message) { - super(message); + super("Untrusted identity: " + message); } } } diff --git a/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java b/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java index 69e36623..7be6a8e2 100644 --- a/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java +++ b/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java @@ -158,7 +158,7 @@ public class DbusSignalImpl implements Signal { } catch (AttachmentInvalidException e) { throw new Error.AttachmentInvalid(e.getMessage()); } catch (IOException e) { - throw new Error.Failure(e.getMessage()); + throw new Error.Failure(e); } catch (GroupNotFoundException | NotAGroupMemberException | GroupSendingNotAllowedException e) { throw new Error.GroupNotFound(e.getMessage()); }