{"record":{"id":"f1e773a09eebfbfa","repo":"babalae/better-genshin-impact","slug":"error-f1e773","errorCode":null,"errorMessage":"当前选择的自动战斗策略文件不存在","messagePattern":"当前选择的自动战斗策略文件不存在","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"BetterGenshinImpact/GameTask/AutoBoss/AutoBossTask.cs","lineNumber":1020,"sourceCode":"\n        if (_taskParam.SpecifyRunCount && _taskParam.RunCount < 1)\n        {\n            throw new Exception(\"指定讨伐次数必须大于 0\");\n        }\n\n        if (!_taskParam.SpecifyRunCount && (_taskParam.UseTransientResin || _taskParam.UseFragileResin))\n        {\n            throw new Exception(\"只有指定讨伐次数模式才能开启须臾树脂或脆弱树脂补充\");\n        }\n\n        if (string.IsNullOrWhiteSpace(_taskParam.CombatStrategyPath))\n        {\n            _taskParam.SetCombatStrategyPath(_taskParam.StrategyName);\n        }\n\n        if (!File.Exists(_taskParam.CombatStrategyPath) && !Directory.Exists(_taskParam.CombatStrategyPath))\n        {\n            throw new Exception(\"当前选择的自动战斗策略文件不存在\");\n        }\n\n        foreach (var route in GetRequiredRouteFiles(_taskParam.BossName))\n        {\n            if (!File.Exists(BuildPathingAssetPath(route)))\n            {\n                throw new FileNotFoundException($\"未找到首领路线文件：{route}\", BuildPathingAssetPath(route));\n            }\n        }\n    }\n\n    /// <summary>\n    /// 获取指定 Boss 启动任务前必须存在的路线文件名。\n    /// </summary>\n    /// <param name=\"bossName\">Boss 名称。</param>\n    /// <returns>需要校验的路线文件名序列。</returns>\n    private static IEnumerable<string> GetRequiredRouteFiles(string bossName)\n    {","sourceCodeStart":1002,"sourceCodeEnd":1038,"githubUrl":"https://github.com/babalae/better-genshin-impact/blob/a7cb36712dcb409be610257d877fcea3597e9d6b/BetterGenshinImpact/GameTask/AutoBoss/AutoBossTask.cs#L1002-L1038","documentation":"Validate 在补全 CombatStrategyPath 后用 File.Exists 和 Directory.Exists 双重检查战斗策略文件，都不存在即抛 Exception。这是战斗脚本来源缺失，后续无法匹配队伍脚本。","triggerScenarios":"StrategyName 对应的策略文件被删除/移动；配置中 CombatStrategyPath 指向不存在路径；工作目录变化导致相对路径失效。","commonSituations":"用户清理/迁移用户目录；手动改配置填错路径；程序版本变更策略目录结构。","solutions":["在界面重新选择有效的战斗策略文件/目录。","检查 _taskParam.CombatStrategyPath 的绝对路径是否存在（注意 SetCombatStrategyPath 的拼接逻辑）。","确认用户目录下的策略文件夹完整。"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if (!File.Exists(_taskParam.CombatStrategyPath) && !Directory.Exists(_taskParam.CombatStrategyPath))\n{\n    // UI 启动前检查并提示用户重新选择\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["启动前在 UI 校验策略路径存在。","迁移用户目录后重新设置策略路径。"],"tags":["validation","config","filesystem","combat-script","genshin","autoboss"],"backgroundTag":null,"analyzedSha":"a7cb36712dcb409be610257d877fcea3597e9d6b","analyzedAt":"2026-08-13T16:44:57.548Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}