RX0013

Dominio: Motor

Mensaje de error

errors.feml declara más rechazos de los que cabe en un conjunto de contratos (límite %s, alcanzado en el rechazo %s)

En el mensaje, %s marca un valor que el motor completa cuando lanza el error.

La historia

Esta vez el catálogo de errores creció tanto que ya no cabe en su contenedor. Te explico el contexto. Cada rechazo de rush es un contrato de tungsten, identificado por su código, y todos juntos forman un conjunto con un tamaño máximo, W_MAX_CONTRACTS. Cuando errors.feml declara más rechazos que ese máximo, el motor se encuentra ante una tentación: quedarse con los primeros y olvidar el resto. Pero eso sería peligroso. Un rechazo olvidado parecería no catalogado, y la regla del diseño dice que emitir un rechazo no catalogado debe ser imposible, no solo improbable. Por eso el motor prefiere no nacer y avisarte con claridad. El mensaje indica el límite y el rechazo donde se alcanzó. No es un fallo de tu script, es una cuestión de capacidad del propio motor. Hay dos caminos: subir el máximo W_MAX_CONTRACTS en tungsten, o repartir el catálogo en varios conjuntos de contratos. Un ejemplo cotidiano: una estantería con espacio para cien libros no puede recibir el libro ciento uno sin que otro caiga. Para no perder ninguno, se amplía la estantería. Eso mismo se hace aquí.

Texto del catálogo de errores del motor de Rush.