后置异常为空

本文关键字:异常 | 更新日期: 2023-09-27 18:04:24

我对Postsharp有一个问题。

我有这个:

 [Serializable]
 public class MethodConnectionTracking: OnExceptionAspect
 {
  public override void OnException(MethodExecutionArgs args)
        {
            base.OnException(args);
        }
 }

,我像这样使用。在assemblyInfo.cs:

[assembly: MethodConnectionTracking]

因此,当程序集中发生异常时,它执行OnException方法。但是,当我调试方法并观察args(类型:MethodExecutionArgs)时,每个属性都有一个空值。arg游戏。异常为空。我需要异常类型…

谁知道我怎么能解决这个问题?

Thanks in advance

后置异常为空

答案是因为PostSharp看到你没有使用任何这些属性,所以它实现了优化,不做任何事情与这些属性。这就是为什么它们在调试时为空的原因。更改方面以匹配以下代码,然后再次尝试调试

[Serializable]  
public class MethodConnectionTracking: OnExceptionAspect  
{   
public override void OnException(MethodExecutionArgs args)         
{             
Exception e = args.Exception;     
}  
}

你可以在这里看到原因:http://programmersunlimited.wordpress.com/2011/08/01/postsharp-why-are-my-arguments-null/