## 简介 当程序出现异常之后,框架需要记录,同时反馈前端对应的信息 它通过`全局错误中间件`实现 错误后,将统一返回以下模型格式: ``` cs public class RemoteServiceErrorInfo { public string? Code { get; set; } /// /// message. /// public string? Message { get; set; } /// /// details. /// public string? Details { get; set; } /// /// data. /// public object? Data { get; set; } } ``` 框架内部错误分为三大类: #### 系统内部错误 > httpCode:500 系统不能处理、或未发现的错误,需要即使进行修复 #### 业务友好错误 > httpCode:403 跟业务相关,业务请求不合理,例如:登录失败、数据重复 #### 授权错误 > httpCode:401 跟权限相关,代表当前用户权限不足 ## 使用 你可以在程序任何地方进行抛出错误 ``` cs throw new Exception("系统错误");//状态码500 throw new UserFriendlyException("业务错误");//状态码403 throw new NotImplementedException("未实现");//状态码501 throw new UserFriendlyException("花里胡哨错误","401");//状态码401 ``` Abp内部将自动抓取,并返回给前端