ABP 接口返回 An internal error occurred during your request
在 ABP 开发过程中,这个错误是必然会遇到。该错误的中文版“对不起,在处理您的请求期间,产生了一个服务器内部错误”
这是系统在发生没有处理的内部错误时抛出的默认错误信息,其目的是友好的向用户展示异常信息,避免看到一堆报错懵逼。
开发人员发现这样的错误时,就去分析日志来定位并解决问题。日志文件一般在 Host/logs 目录下的 *.txt 文件里。
时常遇到有人问怎么将错误信息返回到前端,所以这里就把设置方法贴出来,供大家参考。
找到一个继承 AbpModule 的类,通过下面的设置就可以实现将错误信息返回。
Configuration.Modules.AbpWebCommon().SendAllExceptionsToClients = false;//向前端返回完整错误日志
SendAllExceptionsToClients 为 true 时就会直接返回具体的错误信息。也可以通过当前运行环境来自动判断,避免发布到生产环境时让用户懵逼。
#if DEBUG
Configuration.Modules.AbpWebCommon().SendAllExceptionsToClients = true;
#else
Configuration.Modules.AbpWebCommon().SendAllExceptionsToClients = false;
#endif