diff --git a/python/ray/util/client/worker.py b/python/ray/util/client/worker.py
index <HASH>..<HASH> 100644
--- a/python/ray/util/client/worker.py
+++ b/python/ray/util/client/worker.py
@@ -172,7 +172,11 @@ class Worker:
         except grpc.RpcError as e:
             raise e.details()
         if not data.valid:
-            err = cloudpickle.loads(data.error)
+            try:
+                err = cloudpickle.loads(data.error)
+            except Exception:
+                logger.exception("Failed to deserialize {}".format(data.error))
+                raise
             logger.error(err)
             raise err
         return loads_from_server(data.data)
@@ -256,7 +260,12 @@ class Worker:
         except grpc.RpcError as e:
             raise decode_exception(e.details)
         if not ticket.valid:
-            raise cloudpickle.loads(ticket.error)
+            try:
+                raise cloudpickle.loads(ticket.error)
+            except Exception:
+                logger.exception("Failed to deserialize {}".format(
+                    ticket.error))
+                raise
         return ticket.return_ids
 
     def call_release(self, id: bytes) -> None:
Report failed deserialization of errors in Ray client