错误消息
消息中的 %s 表示引擎抛出错误时填入的具体内容。
小故事
引擎启动时发现,错误目录 errors.feml 里登记的拒绝太多,一个契约集装不下了。先说说背景:每一个拒绝,在引擎里都是一份契约,用它的编号做钥匙,放进一个契约集。契约集的容量,就是 W_MAX_CONTRACTS 个成员,所以这就是目录能有多长的上限。这一次,目录超出去了。引擎为什么不把多出来的行丢掉呢?因为一旦丢掉,某个本来登记过的拒绝,就会被当成没登记过,而 rush 的规矩是:发出一个未登记的拒绝,必须是构造不出来的,不能只是不太可能。就像图书馆的卡片柜塞满了,管理员不能偷偷扔掉几张卡片,那样读者就找不到书了。所以引擎选择拒绝诞生。怎么办?提高 W_MAX_CONTRACTS,或者把目录拆成不止一个契约集。记住:目录要么完整,要么不开张。
文本来自 Rush 引擎的错误目录。
