如果我想在输入参数上指定前置条件,开发KNIME节点时的惯用方法是什么?
使用assert(condition, message)可能是有效和简单的,尽管它的检查依赖于VM参数-ea。
使用if (condition) throw new IllegalArgumentException(message);手动检查似乎更好,但当仅检查null时,它不会提供额外的语义信息。
还有一个org.knime.core.node.InvalidSettingsException异常。应该将其用于此目的吗?
KNIME中是否有应该使用的方法集合?
发布于 2017-11-23 22:58:27
是的,有一种推荐的方法来表示不正确的输入,在org.knime.core.node.util.CheckUtils中(来自捆绑包org.knime.core.util)有专门的方法。它具有以下方法:
null检查:checkSettingNotNullcheckArgumentcheckStatecheckArgumentNotNull、checkDestinationDirectory (从UI或flow变量):checkNotNull checkArgumentNotNull、checkDestinationFile、checkSourceFile
它们允许在消息中使用模板,只有在检查失败时才会展开。
您可以在this query中找到示例用法。
https://stackoverflow.com/questions/47458334
复制相似问题