如果要在输入参数上指定前提条件,开发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
检查:checkNotNull
,checkArgumentNotNull
,checkSettingNotNull
参数:checkArgument
状态:checkState
设置(通过UI或流变量):checkSetting
文件:checkDestinationFile
,checkSourceFile
,checkDestinationDirectory
这些允许在消息中使用仅在检查失败时扩展的模板。
您可以在this query中找到用法示例。
关于java - 如何在KNIME中要求/声明条件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47458334/