Mensagem de erro
Na mensagem, %s marca um valor que o motor preenche quando levanta o erro.
A história
Uma operação aritmética parou, e o motor disse que não conseguiu ler um operando como o número de que precisava. Vamos ver o que acontece por baixo. Um passo aritmético lê o operando de volta do heap, onde ele está guardado como texto, e o converte em decimal ou razão exatos. Antes disso, o tipo declarado do parâmetro já tinha julgado que o valor era um número. Então, em condições normais, essa leitura simplesmente funciona. Se agora o texto não lê como número, ou se o leitor não conseguiu receber as mãos emprestadas, o passo fica sem nada para calcular. Ele não substitui por zero e não tenta adivinhar. Ele para, e diz qual leitor falhou. Um exemplo é um valor que passou pela conferência de tipo, mas foi corrompido no caminho. Isso é incomum, e quase sempre aponta para um defeito no motor, e não um erro seu. A correção está do lado do motor. A mensagem nomeia o leitor. Reporte, com o nome do passo e o leitor.
Texto do catálogo de erros do motor do Rush.
