From d54dc24ceeb094f6e5988cad113d6d553f4b39a5 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Thu, 1 Oct 2026 21:44:03 +0000 Subject: [PATCH] =?UTF-8?q?fix(manticore):=20=E6=96=87=E6=A1=A3=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E6=8A=9B=20Error=20=E6=97=B6=E4=B8=8D=E5=86=8D?= =?UTF-8?q?=E6=9D=80=E6=AD=BB=E6=96=87=E4=BB=B6=E5=90=8C=E6=AD=A5=E8=BF=9B?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PhpWord 解析带批注引用的 docx 会抛 TypeError,而 TextExtractor::extractFile 只捕获 Exception,导致 manticore:sync-files 被致命错误打死、锁无法释放, 且每次重启都卡在同一批,其后的文件都无法入索引。改为捕获 Throwable, 解析失败按“提取失败”处理,同步继续。 --- app/Module/TextExtractor.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/Module/TextExtractor.php b/app/Module/TextExtractor.php index d81149758..2c2e60345 100644 --- a/app/Module/TextExtractor.php +++ b/app/Module/TextExtractor.php @@ -258,7 +258,8 @@ class TextExtractor } } return Base::retSuccess("success", $content); - } catch (Exception $e) { + } catch (\Throwable $e) { + // 含 Error:第三方解析库遇到异常文档会抛 TypeError(如 PhpWord 的批注引用),不能让它穿透到调用方 return Base::retError($e->getMessage()); } }