ErrorInfoBuilder.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. using Abp.Dependency;
  3. using Abp.Localization;
  4. using Abp.Web.Configuration;
  5. namespace Abp.Web.Models
  6. {
  7. /// <inheritdoc/>
  8. public class ErrorInfoBuilder : IErrorInfoBuilder, ISingletonDependency
  9. {
  10. private IExceptionToErrorInfoConverter Converter { get; set; }
  11. /// <inheritdoc/>
  12. public ErrorInfoBuilder(IAbpWebCommonModuleConfiguration configuration, ILocalizationManager localizationManager)
  13. {
  14. Converter = new DefaultErrorInfoConverter(configuration, localizationManager);
  15. }
  16. /// <inheritdoc/>
  17. public ErrorInfo BuildForException(Exception exception)
  18. {
  19. return Converter.Convert(exception);
  20. }
  21. /// <summary>
  22. /// Adds an exception converter that is used by <see cref="BuildForException"/> method.
  23. /// </summary>
  24. /// <param name="converter">Converter object</param>
  25. public void AddExceptionConverter(IExceptionToErrorInfoConverter converter)
  26. {
  27. converter.Next = Converter;
  28. Converter = converter;
  29. }
  30. }
  31. }