diff --git a/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs b/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs index 88aa4749ad..fa48d0d43c 100644 --- a/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs +++ b/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs @@ -66,9 +66,8 @@ namespace Volo.Abp.AspNetCore.Mvc.ExceptionHandling if (exception is IUserFriendlyException) { - var userFriendlyException = exception as IUserFriendlyException; errorInfo.Message = exception.Message; - errorInfo.Details = userFriendlyException.Details; + errorInfo.Details = (exception as IHasErrorDetails)?.Details; } if (exception is IHasValidationErrors) @@ -195,12 +194,13 @@ namespace Volo.Abp.AspNetCore.Mvc.ExceptionHandling detailBuilder.AppendLine(exception.GetType().Name + ": " + exception.Message); //Additional info for UserFriendlyException - if (exception is IUserFriendlyException) + if (exception is IUserFriendlyException && + exception is IHasErrorDetails) { - var userFriendlyException = exception as IUserFriendlyException; - if (!string.IsNullOrEmpty(userFriendlyException.Details)) + var details = ((IHasErrorDetails) exception).Details; + if (!details.IsNullOrEmpty()) { - detailBuilder.AppendLine(userFriendlyException.Details); + detailBuilder.AppendLine(details); } } diff --git a/src/Volo.Abp.UI/Volo/Abp/Ui/IUserFriendlyException.cs b/src/Volo.Abp.UI/Volo/Abp/Ui/IUserFriendlyException.cs index 91885c1e91..8b6b1fdc8d 100644 --- a/src/Volo.Abp.UI/Volo/Abp/Ui/IUserFriendlyException.cs +++ b/src/Volo.Abp.UI/Volo/Abp/Ui/IUserFriendlyException.cs @@ -1,8 +1,6 @@ -using Volo.Abp.ExceptionHandling; - namespace Volo.Abp.UI { - public interface IUserFriendlyException : IHasErrorDetails + public interface IUserFriendlyException { } diff --git a/src/Volo.Abp.UI/Volo/Abp/Ui/UserFriendlyException.cs b/src/Volo.Abp.UI/Volo/Abp/Ui/UserFriendlyException.cs index 1991fb4011..058f5cd441 100644 --- a/src/Volo.Abp.UI/Volo/Abp/Ui/UserFriendlyException.cs +++ b/src/Volo.Abp.UI/Volo/Abp/Ui/UserFriendlyException.cs @@ -10,7 +10,11 @@ namespace Volo.Abp.UI /// This exception type is directly shown to the user. /// [Serializable] - public class UserFriendlyException : ApplicationException, IHasLogLevel, IHasErrorCode, IUserFriendlyException + public class UserFriendlyException : ApplicationException, + IUserFriendlyException, + IHasLogLevel, + IHasErrorCode, + IHasErrorDetails { /// /// Additional information about the exception.