自定义Exception——实战篇

1
2
3
4
5
6
public class EntityConfigurationException : Exception
{
    public EntityConfigurationException(string message) : base(message)
    {
    }
}

  

 

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/// <summary>
/// *****异常
/// </summary>
public class  *****Exception : Exception
{
    /// <summary>
    /// 操作结果
    /// </summary>
    public OPResult Result { get; set; }
 
    /// <summary>
    /// 构造函数
    /// </summary>
    /// <param name="opr">操作结果</param>
    /// <param name="message">消息内容</param>
    public  *****Exception(OPResult opr, String message)
        : base(message)
    {
 
        Result = opr;
    }
 
    /// <summary>
    /// 构造函数
    /// </summary>
    /// <param name="opr">返回代码</param>
    /// <param name="message">错误消息</param>
    /// <param name="e">原始异常</param>
    public  *****Exception(OPResult opr, String message, Exception e)
        : base(message, e)
    {
        Result = opr;
    }
 
    /// <summary>
    /// 构造函数
    /// </summary>
    /// <param name="message">消息内容</param>
    /// <param name="e">异常栈</param>
    public  *****Exception(String message, Exception e)
        : base(message, e)
    {
        Result = OPResult.ServerError;
    }
 
    /// <summary>
    /// 构造函数
    /// </summary>
    /// <param name="e">异常堆栈</param>
    public  *****Exception(Exception e)
        : base("Server Operation Failed", e)
    {
        Result = OPResult.ServerError;
    }
}
 
/// <summary>
/// 操作结果
/// </summary>
public class  *****OPResult
{
    /// <summary>
    /// 操作是否成功
    /// </summary>
    public Boolean OPSucess { get; set; }
    /// <summary>
    /// 结果代码
    /// </summary>
    public OPResult OPCode { get; set; }
    /// <summary>
    /// 操作结果,类型可变,由Type进行判断
    /// </summary>
    public Object ResultContent { get; set; }
    /// <summary>
    /// 返回类型名称
    /// </summary>
    public String Type { get; set; }
 
    /// <summary>
    /// 返回是否为数组
    /// </summary>
    public Boolean IsArray { get; set; }
}

  

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
/// <summary>
/// 操作结果
/// </summary>
public enum OPResult : int
{
    /// <summary>
    /// 成功
    /// </summary>
    Success = 0,
    /// <summary>
    /// 无效参数
    /// </summary>
    InvalidParameters = 1,
    /// <summary>
    /// 无效用户
    /// </summary>
    InvalidUser = 2,
    /// <summary>
    /// 无效Token
    /// </summary>
    InvalidToken = 3,
 
    /// <summary>
    /// 参数缺失
    /// </summary>
    MissingParameters=4,
    /// <summary>
    /// 服务器端错误
    /// </summary>
    ServerError = 0xFF
}

  

posted @   PanPan003  阅读(295)  评论(0编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· 面试官:你是如何进行SQL调优的?
点击右上角即可分享
微信分享提示