try
{
  A.aa();
  A.bb();
  B.aa();
  B.bb();
  ....
}
catch(Exception e)
{
  //想得到出错的类名和方法名,如A.bb();出错时,  我想得到A 以及 bb.
}梦游 呤

解决方案 »

  1.   

    catch(Exception e) 

      MessageBox.Show(e.Message + "\r\n" + e.StackTrace);
      

  2.   

      Data  获取一个提供用户定义的其他异常信息的键/值对的集合。  
      HelpLink  获取或设置指向此异常所关联帮助文件的链接。  
       InnerException  获取导致当前异常的 Exception 实例。  
       Message  获取描述当前异常的消息。  
      Source  获取或设置导致错误的应用程序或对象的名称。  
       StackTrace  获取当前异常发生时调用堆栈上的帧的字符串表示形式。  
      TargetSite  获取引发当前异常的方法。 
      

  3.   

    A难获取到了  
    bb() 可以根据 e.TargetSite.Name
      

  4.   

    Exception.TargetSite表示了错误发生的函数。  
    Exception.TargetSite.ReflectedType表示了函数所属的类。  
    在Exception情况下获得行号的唯一方法是分析Exception.StackTrace字符串。  
    在非Exception情况下,可以用StackTrace类。