Files
MaybeError/MaybeError/Errors/ExceptionError.cs
Amatsugu 77396d252e
All checks were successful
.NET / build (push) Successful in 34s
Added Map and MapError
2025-08-18 10:23:36 -04:00

41 lines
913 B
C#

namespace MaybeError.Errors;
public class ExceptionError : ExceptionError<Exception>
{
public ExceptionError(string message, Exception exception) : base(message, exception)
{
}
public ExceptionError(Exception exception) : base(exception)
{
}
}
public class ExceptionError<T> : Error where T : Exception
{
public T Exception { get; set; }
public ExceptionError(string message, T exception) : base(message, exception.Message, exception.StackTrace)
{
Exception = exception;
}
public ExceptionError(T exception) : base(exception.Message, devDetails: exception.StackTrace)
{
Exception = exception;
}
public override T GetException()
{
return Exception;
}
public override string ToString()
{
return $"{Message}\n{Exception}";
}
public static implicit operator ExceptionError<T>(T exception)
{
return new ExceptionError<T>(exception);
}
}