2009-02-04 53 views
2

IM向的TryParse()获取errorInfo中回从的TryParse()

玩耍,但可以说,解析失败,则返回false,并...没有... 有没有办法让信息回什么解析失败?

我在codeproject上看到类似的东西,但我并没有真正理解它。

谢谢:)

+0

您打算如何使用该信息?如果可用? – Gishu 2009-02-04 11:31:38

+0

我想告诉用户出了什么问题,以及他或她在继续之前需要修复的问题。 我知道这可能足以告诉用户该电子邮件是无效的,那么他或她可能会看到什么是错的。 – Moulde 2009-02-04 11:40:08

回答

5

没有,有没有得到从正常的.NET程序信息的方式。您可以手动检查几件事:

  • 尝试解析数字作为小数。如果这是有效的,但是作为一个整数解析不会,那么它或者超出整数的范围,或者它不是一个整数。
  • 查找非小数,非+/-,非小数点字符
  • 检查它是否是一个空字符串

你还没说你试图解析(整数什么,双等)或你想要什么选项(允许十六进制,千位分隔符等),这使得很难给出一个好的检查清单。

2

TryParse()方法在那里,当你想屏蔽任何异常。

如果你想查看异常,那么为什么不在try/catch块中使用标准的Parse()方法,这将允许你查看抛出的任何FormatExceptions等? 正如预期的那样,通过异常处理,这可能会影响性能,但是如果Parse()预计会成功,那么这应该是可以容忍的。

1

为什么不直接使用常规的Parse方法呢?