如果我想在输入参数上指定前置条件,那么开发KNIME节点时的惯用方法是什么?
使用assert(condition, message)
可能既高效又简单,认为其检查取决于VM参数-ea
。
使用if (condition) throw new IllegalArgumentException(message);
进行手动检查似乎更好,但仅在检查null
时没有提供额外的语义信息。
还有org.knime.core.node.InvalidSettingsException
例外。应该用于此目的吗?
是否有一组应该在KNIME中使用的方法?
答案 0 :(得分:1)
是的,有一种建议的方式来表示不正确的输入,org.knime.core.node.util.CheckUtils
中有专门的方法(来自包org.knime.core.util)。它有以下方法:
null
支票:checkNotNull
,checkArgumentNotNull
,checkSettingNotNull
checkArgument
checkState
checkSetting
checkDestinationFile
,checkSourceFile
,checkDestinationDirectory
这些允许在消息中使用模板,这些模板仅在检查失败时展开。
您可以使用this query找到示例用法。