在 C# WinForms 中使用解析数据的方法时如何找到包含异常的行

How can i find the Line that Contains the exception when Using methods that Parse the Data in C# WinForms

所以这就是我的麻烦开始的方式......我制作了一个 cs 文件,其中包含我项目中的所有辅助方法,它对我来说有点像工具箱......其中一种方法如下:

 static public decimal ToDecimal(this string str)
        {
            return decimal.Parse(str);
        }

正如这个方法所建议的那样,它让我可以对项目中的不同变量进行 .ToDecimal,这是一种提高编码速度的方法

现在这是我的问题: 每当 decimal.parse(str) 的解析时;失败,IDE 将我引导至方法 ToDecimal...

不是调用该方法的实际行......这让我在一个项目上停留了一天以找出真正的异常...... 所以我的问题是: 有没有办法在解决方案中找到实际导致异常的行?即调用异常方法的行...

提醒你们,我在我的解决方案中调用了相同的方法 (ToDecimal()) 超过 1k 次...所以我试图弄清楚这 1k 次中的哪一次是导致的例外... 谢谢!

尝试使用此代码

static public decimal ToDecimal(this string str){
   decimal dec;
   if (decimal.TryParse(str, out dec))
   {
      return dec;
   }
   else
   {
      MessageBox.Show(str);
      return 0.0;
   }
}

每当解析抛出异常时,if 语句将失败,else 部分将给出导致异常的字符串。

你也可以在else语句中附加一个断点。

添加 try/catch 并查看调用堆栈很难吗?