Skip to content

Leer el error de un resultado ​

Comprueba IsError antes de leer Error. En un éxito, esa propiedad lanza InvalidOperationException.

csharp
using Greencore.Platform.Errors;
using Greencore.Platform.Results;
using Greencore.Platform.Errors.Extensions;
using Greencore.Platform.Nodes;

var resultado = Result<int>.Fail(
    Error.Create("Cantidad inválida.").WithReason("Debe ser positiva."));

if (resultado.IsError)
{
    var error = resultado.Error;
    Console.WriteLine(error.Message);
    if (error.TryGetReason<IReasonNode>(out var causa))
        Console.WriteLine(causa.Message);
}

Las búsquedas pertenecen a Errors: se escriben resultado.Error.FindError<T>() y resultado.Error.FindReason<T>(). No se invocan sobre Result.

Fail(error) conserva la instancia recibida. Las fábricas no tipadas también permiten Fail(error1, error2): combinan raíces distintas por referencia. Para partir de un error existente puedes usar error.ToResult() o error.ToResult<int>(), importando Greencore.Platform.Results.

Recuerda: Result indica si falló; Error explica el fallo.

Los detalles de búsqueda están en consultar errores y razones.

Uso personal limitado. Uso comercial sujeto a autorización escrita.