Je rencontre beaucoup de difficultés pour obtenir un message d'exception personnalisé à partir de ma solution Web Api. Il est un peu plus compliqué que ça:Comment remplacer le message d'exception dans l'API Web ASP.NET
Je veux remplacer la lecture seule propriété de l'exception avec mon propre:
public class CustomException : Exception
{
public CustomException(string message)
: base(message)
{
}
public CustomException(string message, Exception inner)
: base(message, inner)
{
}
}
Cependant, j'ai aussi un gestionnaire global d'exception:
public class GlobalExceptionLogger : ExceptionLogger
{
public override void Log(ExceptionLoggerContext context)
{
if (context.Exception.Message == "Password has already been used in the past...1")
{
throw new CustomException("some msg", context.Exception);
}
NLogger.LogError("Global Error Handler", context.Exception);
}
}
Quand je jette l'erreur que je le fais comme:
if (some condition)) throw new CustomException("some msg");
Et puis je l'attrape dans la méthode comme:
catch (CustomException ex)
{
throw ex;
}
catch (Exception ex)
{
NLogger.LogError(ex);
throw;
}
Comment puis-je mettre le message à être « certains msg »? Ce que j'essaie de faire, c'est que l'api retourne 1-2 messages d'erreur liés au cas d'utilisation avec le mode customErrors activé.
Pouvez-vous ajouter une explication à votre code? – Alex
Cela m'a amené là où j'ai besoin d'être avec ça, merci! – RandomUs1r