34 lines
978 B
C#
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);
|
|
}
|