1

我想确保只使用它可以处理的节点调用我的模板开关。如果它与无法识别的概念一起使用,我希望代码生成失败并出现错误。有没有办法从模板中抛出生成时错误?


注意:我一直在使用的解决方法是生成无效输出,这将导致错误,例如:

default: <T  "unknown command: " + $COPY_SRC$[null]  T>

然后会产生一个错误

textgen error: 'No textgen for Draw.structure.Fill' in [rightExpression] Fill null[847086916112855242] in Draw.sandbox@0

何时Fill是交换机无法识别的概念。

4

1 回答 1

2

您可以定义一个“DISMISS TOP RULE”而不是默认值,然后在那里报告错误:

template switch operationsSwitch extends <none>                              

parameters                                                                   
<< ... >>                                                                    

  null-input message: <none>                                                 

  cases:                                                                     

        ...                                                     


  default: DISMISS TOP RULE error : operation  not supported by generator

这将在消息窗口中显示一个错误,用户/开发人员可以单击该消息以获取输入节点以及从那里匹配失败的开关。

于 2018-06-28T14:30:06.173 回答