SPMS_API/SPMS.Domain/Exceptions/SpmsException.cs

34 lines
978 B
C#

using SPMS.Domain.Common;
namespace SPMS.Domain.Exceptions;
public class SpmsException : Exception
{
public string ErrorCode { get; }
public int HttpStatusCode { get; }
public SpmsException(string errorCode, string message, int httpStatusCode = 400)
: base(message)
{
ErrorCode = errorCode;
HttpStatusCode = httpStatusCode;
}
// === 팩토리 메서드 ===
public static SpmsException BadRequest(string message)
=> new(ErrorCodes.BadRequest, message, 400);
public static SpmsException Unauthorized(string message)
=> new(ErrorCodes.Unauthorized, message, 401);
public static SpmsException NotFound(string message)
=> new(ErrorCodes.NotFound, message, 404);
public static SpmsException Conflict(string message)
=> new(ErrorCodes.Conflict, message, 409);
public static SpmsException LimitExceeded(string message)
=> new(ErrorCodes.LimitExceeded, message, 429);
}