如何查看哪个字符串抛出了FormatException?

时间:2016-08-08 08:41:13

标签: c# debugging

我有一个解析货币字符串的方法(例如"€4.00"或" $ 14.50"),但有时会出现解析错误,并抛出{{ 1}}。

我想要做的是将无法解析的字符串(抛出异常)发送到数据库。

FormatException

有可能吗?或者我应该使用某种黑客?

提前谢谢。

1 个答案:

答案 0 :(得分:3)

正如BugFinder所说,你可以使用TryParse:

double parsedNumber;

var result = Double.TryParse(euroNumber, NumberStyles.Currency, CultureInfo.CurrentCulture, out parsedNumber);
if (!result)
{
    // send error
}

另一种方法是将字符串移到try块的范围之外:

    string euroNumber = "€4.00";
    try
    {
        // Will throw a FormatException
        double parsedNumber = Double.Parse(euroNumber, NumberStyles.Currency);
    }
    catch (FormatException ex)
    {
        // Have access to euroNumber here now
        // [Omitted] Sending to server logic
    }