diff --git a/src/main/java/io/vlingo/actors/Directory.java b/src/main/java/io/vlingo/actors/Directory.java
index <HASH>..<HASH> 100644
--- a/src/main/java/io/vlingo/actors/Directory.java
+++ b/src/main/java/io/vlingo/actors/Directory.java
@@ -79,7 +79,7 @@ final class Directory {
 
   void register(final Address address, final Actor actor) {
     if (isRegistered(address)) {
-      throw new IllegalArgumentException("The actor address is already registered: " + address);
+      throw new ActorAddressAlreadyRegistered(actor, address);
     }
     this.maps[mapIndex(address)].put(address, actor);
   }
@@ -116,4 +116,13 @@ final class Directory {
   private int mapIndex(final Address address) {
     return Math.abs(address.hashCode() % maps.length);
   }
+
+
+  public static final class ActorAddressAlreadyRegistered extends IllegalArgumentException {
+    public ActorAddressAlreadyRegistered(Actor actor, Address address) {
+      super(String.format("Failed to register Actor of type %s. Address is already registered: %s",
+          actor.getClass(),
+          address));
+    }
+  }
 }
changes to more specific exception in Directory#register address already registered