This commit is contained in:
2024-02-11 11:19:17 +03:00
parent 341b409264
commit a586c5a0f9
7 changed files with 155 additions and 10 deletions

View File

@@ -0,0 +1,28 @@
using anbs_cp.Enums;
namespace anbs_cp.Exceptions;
/// <summary>
/// Ошибка (де)сериализации
/// </summary>
/// <param name="action">Действие сериализатора, приведшее к ошибке</param>
/// <param name="objectJson">Объект сериализации при сериализации или строка json при десериализации</param>
/// <param name="message">Сообщение пользователю</param>
public sealed class SerializeException (ESerializeExceptionAction action, string? objectJson, string? message = null)
: Exception(message)
{
/// <summary>
/// Действие сериализатора, приведшее к ошибке
/// </summary>
public ESerializeExceptionAction Action => action;
/// <summary>
/// Объект сериализации (при action == ESerializeExceptionAction.Serialize)
/// </summary>
public string? Object => action == ESerializeExceptionAction.Serialize ? objectJson : null;
/// <summary>
/// Строка json при десериализации
/// </summary>
public string? Json => action == ESerializeExceptionAction.Deserialize ? objectJson : null;
}