我知道.类似的问题已经提出过了.
但我还没有得到确切的解决方案.
我有一个按钮点击事件,我有一个方法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.
如何获取导致异常的方法的实际名称?