using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CoreAgent.ProtocolClient.Context.UeStateManager { /// /// UeIdentifierManager 相关异常基类 /// public abstract class UeIdentifierManagerException : Exception { protected UeIdentifierManagerException(string message) : base(message) { } protected UeIdentifierManagerException(string message, Exception innerException) : base(message, innerException) { } } /// /// 标识符格式异常 /// public class IdentifierFormatException : UeIdentifierManagerException { public string Identifier { get; } public string ExpectedFormat { get; } public IdentifierFormatException(string identifier, string expectedFormat, string message = null) : base(message ?? $"标识符 '{identifier}' 格式无效,期望格式: {expectedFormat}") { Identifier = identifier; ExpectedFormat = expectedFormat; } } /// /// UE信息异常 /// public class UeInfoException : UeIdentifierManagerException { public int UeId { get; } public UeInfoException(int ueId, string message) : base(message) { UeId = ueId; } } /// /// 映射关系异常 /// public class MappingException : UeIdentifierManagerException { public string MappingType { get; } public object Key { get; } public MappingException(string mappingType, object key, string message) : base(message) { MappingType = mappingType; Key = key; } } /// /// 缓存异常 /// public class CacheException : UeIdentifierManagerException { public string CacheType { get; } public CacheException(string cacheType, string message) : base(message) { CacheType = cacheType; } public CacheException(string cacheType, string message, Exception innerException) : base(message, innerException) { CacheType = cacheType; } } /// /// 解析异常 /// public class ParsingException : UeIdentifierManagerException { public string ParsingType { get; } public string Input { get; } public ParsingException(string parsingType, string input, string message) : base(message) { ParsingType = parsingType; Input = input; } public ParsingException(string parsingType, string input, string message, Exception innerException) : base(message, innerException) { ParsingType = parsingType; Input = input; } } /// /// 通用UE标识符管理器异常 /// public class GeneralUeIdentifierManagerException : UeIdentifierManagerException { public string Operation { get; } public GeneralUeIdentifierManagerException(string operation, string message) : base(message) { Operation = operation; } public GeneralUeIdentifierManagerException(string operation, string message, Exception innerException) : base(message, innerException) { Operation = operation; } } }