From 0ed5a27a72c2e28247caec1a4f3c1aa870e0389d Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Mon, 19 Jan 2026 12:12:47 +0800 Subject: [PATCH] =?UTF-8?q?fix(dataset):=20=E8=A7=A3=E5=86=B3=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E7=AC=A6=E6=9F=A5=E6=89=BE=E5=A4=B1=E8=B4=A5=E6=97=B6?= =?UTF-8?q?=E7=9A=84=E9=94=99=E8=AF=AF=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 当操作符在任何注册表中都找不到时抛出ImportError异常 - 对无效的注册表内容类型抛出更具体的ImportError异常 - 提供更清晰的错误信息帮助用户诊断问题 --- runtime/python-executor/datamate/core/dataset.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/runtime/python-executor/datamate/core/dataset.py b/runtime/python-executor/datamate/core/dataset.py index 16d45cd..70b7ad0 100644 --- a/runtime/python-executor/datamate/core/dataset.py +++ b/runtime/python-executor/datamate/core/dataset.py @@ -136,6 +136,10 @@ class RayDataset(BasicDataset): if registry_content is None: from core.base_op import OPERATORS as RELATIVE_OPERATORS registry_content = RELATIVE_OPERATORS.modules.get(op_name) + + if registry_content is None: + raise ImportError(f"Operator '{op_name}' not found in any registry. Please check if the operator name is correct.") + if isinstance(registry_content, str): # registry_content是module的路径 submodule = importlib.import_module(registry_content) @@ -148,7 +152,7 @@ class RayDataset(BasicDataset): # registry_content是module本身 res = registry_content else: - res = None + raise ImportError(f"Invalid registry content for operator '{op_name}': expected str or BaseOp subclass, got {type(registry_content)}") return res def _run_single_op(self, operators_cls, init_kwargs, **kwargs):