如果要在输入参数上指定前提条件,开发KNIME节点时的惯用方式是什么?

考虑到其检查取决于VM参数assert(condition, message),因此使用-ea可能高效且简单。

手动检查if (condition) throw new IllegalArgumentException(message);似乎更好,但是例如仅检查null时,它不提供额外的语义信息。

也有org.knime.core.node.InvalidSettingsException异常。应该用于此目的吗?

在KNIME中应该使用多种方法吗?

最佳答案

是的,有一种建议的方式来指示输入错误,在org.knime.core.node.util.CheckUtils中有专门的方法(来自org.knime.core.util包)。它具有以下方法:


null检查:checkNotNullcheckArgumentNotNullcheckSettingNotNull
参数:checkArgument
状态:checkState
设置(通过UI或流变量):checkSetting
文件:checkDestinationFilecheckSourceFilecheckDestinationDirectory


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

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

关于java - 如何在KNIME中要求/声明条件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47458334/

10-10 23:47