如果我想在输入参数上指定前提条件,那么开发 KNIME 节点时的惯用方法是什么?
使用 assert(condition, message)
可能高效且简单,因为它的检查取决于 VM 参数 -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/