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";
}