修复缓存管理器中的异常处理逻辑

- 将捕获的异常类型从 `TypeError` 和 `OSError` 修改为 `Exception`,以涵盖更多潜在错误。
- 增强日志记录,提供更清晰的类名和简化的错误信息,便于调试和问题追踪。
This commit is contained in:
minecraft1024a
2025-08-18 18:29:42 +08:00
parent 1a3eb58d26
commit 483c470acf

View File

@@ -107,9 +107,13 @@ class CacheManager:
try:
source_code = inspect.getsource(tool_class)
code_hash = hashlib.md5(source_code.encode()).hexdigest()
except (TypeError, OSError) as e:
except Exception as e:
code_hash = "unknown"
logger.warning(f"无法获取 {tool_class.__name__} 的源代码,代码哈希将为 'unknown'。错误: {e}")
# 获取更清晰的类名
class_name = getattr(tool_class, '__name__', str(tool_class))
# 简化错误信息
error_msg = str(e).replace(str(tool_class), class_name)
logger.warning(f"无法获取 {class_name} 的源代码,代码哈希将为 'unknown'。原因: {error_msg}")
try:
sorted_args = json.dumps(function_args, sort_keys=True)
except TypeError: