zxc*_*bnm 14 c# exception-handling exception
我知道它不会抛出异常,因为它可能会快得多,但是,你最有可能使用它将输入转换为你可以使用的数据,所以我不认为它经常被用来制作在性能方面有很大差异.
无论如何,我看到的示例都是if/else块的行TryParse
,else返回错误消息.对我来说,这与使用try/catch块并返回错误消息的catch基本相同.
那么,我错过了什么吗?是否存在实际有用的情况?
Mar*_*ers 23
除了你自己提到的性能方面,还有一个语义差异:
使用try/catch是出于特殊情况.输入无效数据是您期望的,而不是特殊的.
Gre*_*ech 12
它就像这样简单:Parse
如果您在遇到无效数据时想要例外,请使用; TryParse
如果你不这样做,请使用.因此,你的问题似乎是:
如果数据无效,为什么不想要例外?
例外情况仅应用于例外情况,而无效的数据可能不是例外情况.也许你正在编写一个数据清理程序,它希望获得无效数据,并试图在数据无效时推断出合理的值.也许数据并不那么重要,你可以跳过包含它的记录.
它取决于上下文,并且可以选择Parse
和TryParse
方法让您为自己选择适当的解析机制.
归档时间: |
|
查看次数: |
4560 次 |
最近记录: |