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;
}