错误消息
消息中的 %s 表示引擎抛出错误时填入的具体内容。
小故事
先看一个吓人的例子:在旧版本里,你写 opAdd 7 banana,引擎竟然回答 result 7,还告诉你一切成功。想想看,这是最糟糕的失败:答案错了,却声称对了,下游没有任何办法发现。现在引擎不再这样了。每个参数都有声明的类型,在引擎诞生时,这个类型被变成一个判官,叫 piece。你传入的值,先要经过这位判官。这一次,判官拒绝了你的值,所以内置函数根本没有运行。消息里写着是哪个参数,哪个类型,伴随的几行还会告诉你判官的原话。再举个例子:加号可以把文本和文本拼起来,也可以把数字和数字相加,可是 a 加 3,一个是文本,一个是数字,两边种类不同,引擎就会拒绝,并点名第二个参数。修法是:把值换成参数声明的类型,或者让两边的种类一致。记住:宁可明确地拒绝,也不要悄悄地给出错误答案。
文本来自 Rush 引擎的错误目录。
