code: public static RedisCommandExecutionException createExecutionException(String message, Throwable cause) {
  
          if (message != null) {
  
              if (message.startsWith("BUSY")) {
                  return cause != null ? new RedisBusyException(message, cause) : new RedisBusyException(message);
              }
  
              if (message.startsWith("NOSCRIPT")) {
                  return cause != null ? new RedisNoScriptException(message, cause) : new RedisNoScriptException(message);
              }
  
              if (message.startsWith("LOADING")) {
                  return cause != null ? new RedisLoadingException(message, cause) : new RedisLoadingException(message);
              }
  
              return cause != null ? new RedisCommandExecutionException(message, cause) : new RedisCommandExecutionException(
                      message);
          }
  
          return new RedisCommandExecutionException(cause);
      }
docs: Create a {@link RedisCommandExecutionException} with a detail message and optionally a {@link Throwable cause}. Specific
  Redis error messages may create subtypes of {@link RedisCommandExecutionException}.
  
  @param message the detail message.
  @param cause the nested exception, may be {@literal null}.
  @return the {@link RedisCommandExecutionException}.