c# AOP OnExceptionAspect

1.引入PostShartp

2.  

 [Serializable]
    public class ExceptionAttribute : OnExceptionAspect
    {
        public override void OnException(MethodExecutionArgs args)
        {
            base.OnException(args);
            Debug.WriteLine($"{args.Exception.Message}11111111111111111111111111111111111111111");
            args.FlowBehavior = FlowBehavior.Continue;
        }
    }

Serializable 序列化标签,继承Aop的类必须是可序列化的

序列化:

简单来说序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,流的概念这里不用多说(就是I/O),我们可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间(注:要想将对象传输于网络必须进行流化)!在对对象流进行读写操作时会引发一些问题,而序列化机制正是用来解决这些问题的!

=======

序列化和反序列化并不是C#独有的,包括java、php、js等都可以做到。
序列化是将对象状态转换为可保持或传输的格式的过程,比如转化为二进制、xml、json等的过程。
与序列化相对的是反序列化,它将流转换为搜索对象,也就是将在序列化过程中所生成的二进制串、xml、json等转换成数据结构或者对象的过程
这两个过程结合起来,可以轻松地存储、传输数据。

args.FlowBehavior = FlowBehavior.Continue;

这句很关键,如果不加程序遇到Exception时会停止

加上后程序正常运行

调用代码

主函数

aaaa();

      [ExceptionAttribute]
        public static void aaaa()
        {
            int a = 0;
            int b = 1;
            var dd = b / a;
        }

原文地址:https://www.cnblogs.com/dzh1990/p/7562545.html