]> nmode's Git Repositories - signal-cli/commitdiff
Improve dbus error handling
authorAsamK <asamk@gmx.de>
Wed, 27 Oct 2021 18:00:36 +0000 (20:00 +0200)
committerAsamK <asamk@gmx.de>
Wed, 27 Oct 2021 18:00:36 +0000 (20:00 +0200)
Fixes #787

src/main/java/org/asamk/Signal.java
src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java

index 349671b37bffb05e9fa058862046adb8b2afd6af..240930dc3d4094fdcc4c06610f091d176d5f59d7 100644 (file)
@@ -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);
             }
         }
     }
index 69e36623562f4fd76d6f712d71035704154489d0..7be6a8e284317d210c19e8a75c9f3b07059ada75 100644 (file)
@@ -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());
         }