如何在KNIME中要求/断言条件?

时间:2017-11-23 14:58:27

标签: java knime

如果我想在输入参数上指定前置条件,那么开发KNIME节点时的惯用方法是什么?

使用assert(condition, message)可能既高效又简单,认为其检查取决于VM参数-ea

使用if (condition) throw new IllegalArgumentException(message);进行手动检查似乎更好,但仅在检查null时没有提供额外的语义信息。

还有org.knime.core.node.InvalidSettingsException例外。应该用于此目的吗?

是否有一组应该在KNIME中使用的方法?

1 个答案:

答案 0 :(得分:1)

是的,有一种建议的方式来表示不正确的输入,org.knime.core.node.util.CheckUtils中有专门的方法(来自包org.knime.core.util)。它有以下方法:

  • null支票:checkNotNullcheckArgumentNotNullcheckSettingNotNull
  • 参数:checkArgument
  • 州:checkState
  • 设置(来自UI或流量变量):checkSetting
  • 文件:checkDestinationFilecheckSourceFilecheckDestinationDirectory

这些允许在消息中使用模板,这些模板仅在检查失败时展开。

您可以使用this query找到示例用法。