Mensagem de erro
Na mensagem, %s marca um valor que o motor preenche quando levanta o erro.
A história
Você pediu uma raiz quadrada e o motor respondeu que não existe raiz quadrada real para aquele valor. Vamos ver por quê. O math.sqrt devolve uma raiz real, exata ou aparada pela regra do I55. Só que um número negativo não tem raiz quadrada real. Qual número, multiplicado por ele mesmo, dá menos quatro? Nenhum número real. E um NaN, um não número, também não é algo que este motor aceite guardar. Então a chamada é recusada pelo nome, mostrando o operando exatamente como você escreveu e dizendo o motivo. Antigamente a recusa era um código genérico, sem explicação, e você precisava adivinhar. Um exemplo pequeno: você escreve math.sqrt de menos nove e leva a recusa. A correção é olhar de onde veio esse menos nove. Talvez uma subtração saiu invertida, e o valor certo era nove. Se a intenção é mesmo trabalhar com números negativos, a raiz real simplesmente não existe, e o programa precisa tratar esse caso antes de chamar. Leia o operando na mensagem e comece por ele.
Texto do catálogo de erros do motor do Rush.
