ABP框架中的异常细节

Exception details in ABP framework

我想要 return ABP .NET Core 异常的详细信息,我注意到当我转到 AbpAuditLogs table 和 App_Data\Logs logFile 时它们包含详细的异常但是当我使用下面的方法 return 异常时,它只显示一般异常而没有任何细节(500 内部服务器错误)

try{
:
:
:
}
catch (Exception ex)
{
                throw new System.ArgumentException(ex.InnerException.Message.ToString(), "original");
}

那么,我如何才能 return 用户的特定异常,例如电子邮件验证异常等等?

更新:

我会解释更多以使问题更清楚:

我处理异常的方式附在上面的这个问题上。 问题是,当从 swagger 或 Postman 发出服务请求时,总是会看到状态代码为 500 的一般错误,没有任何详细信息,这迫使我从日志文件中查看异常的详细信息或记录 Table ,我想直接从 Swagger 或 Postman 查看异常的详细信息(例如 FileNotFoundException )而不 return回到日志文件或 AbpAuditLogs Table。

我认为用户友好异常对你有用。

因为如果异常实现了 IUserFriendlyException 接口,那么 ABP 不会更改它的 Message 和 Details 属性并直接将其发送给客户端。

throw new UserFriendlyException(
"Username should be unique!"
);

您可以找到更多信息here

实际上,我找到了@Mehdi Daustany 的答案in this question。我所做的正是@Mehdi Daustany 的回答,我添加了以下代码:

   if (_env.EnvironmentName.ToLower() == "development")
    Configuration.Modules.AbpWebCommon().SendAllExceptionsToClients = true;

在***.Web.Core下Swagger出现了异常的细节

services.Configure<AbpExceptionHandlingOptions>  (options =>
{
    options.SendExceptionsDetailsToClients = true;
});

以上代码会将 abp 配置为 return 所有异常详细信息。只需将其添加到配置中即可。