namespace Prefab.Catalog.Domain.Exceptions; public abstract class DomainException(string message) : Exception(message); public sealed class CatalogNotFoundException(string resource, string identifier) : DomainException($"{resource} with identifier '{identifier}' was not found.") { public string Resource { get; } = resource; public string Identifier { get; } = identifier; } public sealed class CatalogConflictException(string resource, string identifier, string detail) : DomainException(detail) { public string Resource { get; } = resource; public string Identifier { get; } = identifier; }