相关疑难解决方法(0)

获取引发异常的方法名称

我知道.类似的问题已经提出过了.

但我还没有得到确切的解决方案.

我有一个按钮点击事件,我有一个方法FillCombo().

按钮单击事件

private void button1_Click(object sender, EventArgs e)
{
      try
      {
          cmbTemplates.Items.Clear();
          lstFiles.Clear();
          FillCombo();                
      }
      catch (Exception ex)
      {
           MethodBase site = ex.TargetSite;
           Log(ex.ToString(), site == null ? null : site.Name);                
      }
}
Run Code Online (Sandbox Code Playgroud)

当我调试时,我发现异常发生在FillCombo()方法中.在那之后,我得到的值site.Name作为WinIOError代替FillCombo.

我尝试了另一种方法GetExecutingMethodName(),由Chris Gessler如何获取导致异常问题的方法的名称中回答.所以我尝试使用GetExecutingMethodName()方法发送导致异常的方法名称

Log(ex.ToString(), GetExecutingMethodName());
Run Code Online (Sandbox Code Playgroud)

但我得到的结果System.Windows.Forms.Control.OnClick不是FillCombo.

如何获取导致异常的方法的实际名称?

c# exception

17
推荐指数
3
解决办法
2万
查看次数

标签 统计

c# ×1

exception ×1