namespace GFramework.Game.Abstractions.Config; /// /// 表示配置加载流程中的结构化失败。 /// 该异常保留原有异常链,同时通过 暴露稳定字段, /// 便于上层在不解析消息文本的情况下识别失败表、文件和字段位置。 /// public sealed class ConfigLoadException : InvalidOperationException { /// /// 初始化一个配置加载异常。 /// /// 结构化诊断信息。 /// 面向人类阅读的错误消息。 /// 底层异常;不存在时为空。 /// 为空时抛出。 /// 为空时抛出。 public ConfigLoadException( ConfigLoadDiagnostic diagnostic, string message, Exception? innerException = null) : base(message, innerException) { if (diagnostic == null) { throw new ArgumentNullException(nameof(diagnostic)); } if (string.IsNullOrWhiteSpace(message)) { throw new ArgumentException("Exception message cannot be null or whitespace.", nameof(message)); } Diagnostic = diagnostic; } /// /// 获取结构化诊断信息。 /// public ConfigLoadDiagnostic Diagnostic { get; } }