错误消息
消息中的 %s 表示引擎抛出错误时填入的具体内容。
小故事
你往一个集合里倒进一个成员,可是集合自己,说了不。比如,一个集合,已经声明只放数字,你却往里倒了一个文本,或者一个有上限的集合,已经满了,你还往里倒。裁判不是引擎里某段临时写的检查,而是 tungsten 里唯一的集合行为,叫 collection_admits,它的判词,原原本本放在消息的第二个信息里,比如:同质的形状里,插进了异质的成员;或者容量,已满。这条拒绝,是后来才专门登记的。以前,它被记在 RX0038 名下,说成是解析器不认识这个结构,可其实是堆在运行时作的判断,这样就把读者引去了错误的阶段。一条拒绝,要如实说出,是哪个阶段拒绝的。怎么改?让成员符合集合的形状,或者检查集合是不是已经满了。记住:集合有自己的脾气,倒之前,先看看它收不收。
文本来自 Rush 引擎的错误目录。
