namespace Lattice.Core.DragDrop.Exceptions; /// /// Исключение, возникающее при ошибках в системе перетаскивания. /// public class DragDropException : Exception { /// /// Код ошибки. /// public string ErrorCode { get; } /// /// Инициализирует новый экземпляр класса . /// public DragDropException() : base("Drag & Drop operation failed.") { ErrorCode = "DRAGDROP_0001"; } /// /// Инициализирует новый экземпляр класса с указанным сообщением. /// public DragDropException(string message) : base(message) { ErrorCode = "DRAGDROP_0002"; } /// /// Инициализирует новый экземпляр класса с кодом ошибки. /// public DragDropException(string errorCode, string message) : base(message) { ErrorCode = errorCode; } /// /// Инициализирует новый экземпляр класса /// с указанным сообщением и внутренним исключением. /// public DragDropException(string message, Exception innerException) : base(message, innerException) { ErrorCode = "DRAGDROP_0003"; } /// /// Инициализирует новый экземпляр класса /// с кодом ошибки, сообщением и внутренним исключением. /// public DragDropException(string errorCode, string message, Exception innerException) : base(message, innerException) { ErrorCode = errorCode; } } /// /// Коды ошибок Drag and Drop системы. /// public static class DragDropErrorCodes { // Общие ошибки public const string OperationAlreadyActive = "DRAGDROP_1001"; public const string OperationNotActive = "DRAGDROP_1002"; public const string InvalidData = "DRAGDROP_1003"; public const string Timeout = "DRAGDROP_1004"; // Ошибки источников public const string SourceCannotDrag = "DRAGDROP_2001"; public const string SourceStartFailed = "DRAGDROP_2002"; // Ошибки целей public const string TargetNotFound = "DRAGDROP_3001"; public const string TargetCannotAccept = "DRAGDROP_3002"; public const string TargetDropFailed = "DRAGDROP_3003"; // Ошибки системы public const string SystemNotInitialized = "DRAGDROP_4001"; public const string SystemDisposed = "DRAGDROP_4002"; public const string MemoryAllocationFailed = "DRAGDROP_4003"; }