public static string GetErrorDescription(DyVariant err) { if (!Enum.TryParse <DyError>(err.Constructor, true, out var res)) { if (err.Fields.Count > 0) { var dat = err.Fields[0].ToString(); if (dat is not null) { return(err.Constructor + $"({dat})"); } } return(err.Constructor); } var idx = err.Fields.Count; var str = RuntimeErrors.ResourceManager.GetString(err.Constructor + "." + idx); if (str is not null && err.Fields.Count > 0) { var vals = err.Fields.ToArray() .Select(v => v is DyTypeInfo t ? t.ReflectedTypeName : (v.ToString() ?? "")) .ToArray(); str = string.Format(str, vals); }
public static DyError GetErrorCode(DyVariant err) { if (!Enum.TryParse <DyError>(err.Constructor, true, out var res)) { return(DyError.UnexpectedError); } return(res); }
internal DyCodeException(DyVariant err, CallStackTrace cs, Exception?innerException) : base(null !, innerException) => (Error, CallTrace) = (err, cs);