Redis healthcheck message sometimes is not useful.
### Describe the bug

There is some runtime exceptions that has no message when they are fired. 

Actually the healthcheck performs a message with 
` return builder.down().withData("reason", "client [" + client.getKey() + "]: " + e.getMessage()).build();`


### Expected behavior

Reason should include a message that must explain what's happening on any exception. 

### Actual behavior

If getMessage() returns null the message is something like 

`"reason": "client [<default>]: null"`

### How to Reproduce?

1. Setup a 1 second timeout. 
2. Connect to a redis that is lagging or with high workload. 
3. Wait to a healthcheck happend. 
4. Read the healthcheck message. 

In this reproducer the `atMost` method of Mutiny will throw a `TimeoutException` that has no message ( null ). 

### Output of `uname -a` or `ver`

_No response_

### Output of `java -version`

_No response_

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

_No response_

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)

_No response_

### Additional information

_No response_
diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/client/health/RedisHealthCheck.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/client/health/RedisHealthCheck.java
index e179a0cf1d5..5a64eb1d2ff 100644
--- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/client/health/RedisHealthCheck.java
+++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/client/health/RedisHealthCheck.java
@@ -22,6 +22,7 @@
 import io.quarkus.redis.datasource.ReactiveRedisDataSource;
 import io.quarkus.redis.datasource.RedisDataSource;
 import io.quarkus.redis.runtime.client.config.RedisConfig;
+import io.smallrye.mutiny.TimeoutException;
 import io.vertx.mutiny.redis.client.Command;
 import io.vertx.mutiny.redis.client.Redis;
 import io.vertx.mutiny.redis.client.Request;
@@ -88,7 +89,12 @@ public HealthCheckResponse call() {
                 Duration timeout = getTimeout(client.getKey());
                 Response response = redisClient.send(Request.cmd(Command.PING)).await().atMost(timeout);
                 builder.up().withData(redisClientName, response.toString());
+            } catch (TimeoutException e) {
+                return builder.down().withData("reason", "client [" + client.getKey() + "]: timeout").build();
             } catch (Exception e) {
+                if (e.getMessage() == null) {
+                    return builder.down().withData("reason", "client [" + client.getKey() + "]: " + e).build();
+                }
                 return builder.down().withData("reason", "client [" + client.getKey() + "]: " + e.getMessage()).build();
             }
         }
['extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/client/health/RedisHealthCheck.java']