RX0296

Domínio: Execução

Mensagem de erro

%s: o tungsten recusou a aritmética exata (%s)

Na mensagem, %s marca um valor que o motor preenche quando levanta o erro.

A história

Uma conta do seu script parou no meio, e o motor disse que o tungsten recusou a aritmética exata. Vamos entender. No rush, todo número é exato, um decimal ou uma razão, e quem calcula é o motor de números do tungsten, usando umas mãos de número que o passo recebeu emprestadas. Cada operação responde com um veredito. Em geral, deu certo. Mas às vezes dá falha: as mãos chegaram ao limite de capacidade, ou o resultado é algo que o motor não consegue representar. Nesse caso o passo não tem número nenhum para seguir adiante. E o motor não inventa um valor aproximado só para continuar. Ele para, e diz qual operação do tungsten recusou. Um exemplo é uma potência que cresce tanto que o resultado não cabe nas mãos. A correção depende da conta: reduzir o tamanho dos números, quebrar o cálculo em partes menores, ou rever se o valor era mesmo para ser tão grande. Antes, essa parada vinha com um código genérico e sem motivo. A mensagem traz o nome do passo e a operação que falhou. Comece por ela.

Texto do catálogo de erros do motor do Rush.