11

我创建了一个 CrudAppService。当我使用swagger调用它的动态 API 时,我得到一个500带有此描述的一般错误:

{
  "result": null,
  "targetUrl": null,
  "success": false,
  "error": {
    "code": 0,
    "message": "An internal error occurred during your request!",
    "details": null,
    "validationErrors": null
  },
  "unAuthorizedRequest": false,
  "__abp": true
}

如何获得更详细的异常进行调试?有什么我必须启用的吗?

4

4 回答 4

19

SendAllExceptionsToClients您可以通过在 ***.Web.Core 模块中启用 ABP 的配置 ( ) 之一简单地将异常详细信息发送到客户端,如下所示:

public override void PreInitialize()
{   
    Configuration.Modules.AbpWebCommon().SendAllExceptionsToClients = true;
}

然后您会在客户端上获得异常详细信息。仅在开发期间推荐。

于 2018-07-05T12:42:43.493 回答
10

检查Logs.txt中的错误。

从有关Logging的文档中:

配置

当您从 ASP.NET Boilerplate 模板创建应用程序时,Log4Net 的所有配置都已完成。

...

它在应用程序的log4net.config文件中定义,如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
  <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender" >
    <file value="Logs/Logs.txt" />
于 2018-01-01T17:00:10.803 回答
2

如果您使用CurrentUnitOfWork,您也可以捕获异常,并且使用 UserFriendlyException您可以抛出所需的异常。UserFriendlyException是一种特定类型的异常,因此 ABP 直接向最终用户显示异常消息。

例子:

try
{
    await _repository.InsertAsync(...);
    await CurrentUnitOfWork.SaveChangesAsync();
}
catch(Exception ex)
{
    throw new UserFriendlyException("user friendly exception message");
}
于 2018-01-24T05:38:21.460 回答
0

您可以查看您的项目日志,网址为project.Host\App_Data\Logs.txt

于 2021-11-10T08:26:08.703 回答