Blame view

泰额版/Food Labeling Management Code/Yi.Doc.Md/02.框架功能模块教程/14.异常处理.md 1.34 KB
59e51671   “wangming”   1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
  ## 简介
  当程序出现异常之后,框架需要记录,同时反馈前端对应的信息
  它通过`全局错误中间件`实现
  
  错误后,将统一返回以下模型格式:
  ``` cs
  public class RemoteServiceErrorInfo
  {
  
          public string? Code { get; set; }
  
          /// <summary>
          /// message.
          /// </summary>
          public string? Message { get; set; }
  
          /// <summary>
          /// details.
          /// </summary>
          public string? Details { get; set; }
  
          /// <summary>
          /// data.
          /// </summary>
          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内部将自动抓取,并返回给前端