我创建了一个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
}
如何获得更详细的调试异常?我有什么要启用的吗?
ABP + ASP.NET核心
答案 0 :(得分:5)
您可以通过将ABP配置之一(SendAllExceptionsToClients)设置为true来简单地将异常详细信息发送给客户端
Configuration.Modules.AbpWebCommon().SendAllExceptionsToClients = true;
***。Web.Core模块中的。
public override void PreInitialize()
{
Configuration.Modules.AbpWebCommon().SendAllExceptionsToClients = true;
}
然后,您将在客户端上获得异常详细信息。 (仅在开发过程中推荐)
答案 1 :(得分:4)
检查 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" />
答案 2 :(得分:1)
如果您使用CurrentUnitOfWork
,您也可以捕获异常并使用
UserFriendlyException
您可以抛出所需的异常。 UserFriendlyException
是一种特定类型的异常,因此ABP直接向最终用户显示异常消息。
示例:
try
{
await _repository.InsertAsync(...);
await CurrentUnitOfWork.SaveChangesAsync();
}
catch(Exception ex)
{
throw new UserFriendlyException("user friendly exception message");
}