我们正在和我们的同事讨论如果方法名以"Try“开头意味着什么。
有以下几点意见:
当方法可以返回空值时,
官方定义是什么?方法名中的“尝试”是什么意思?有关于这方面的官方指南吗?
发布于 2013-06-20 15:35:02
这被称为TryParse模式,并且已经被微软记录在案。The official Exceptions and Performance MSDN page says
考虑对在常见情况下可能引发异常的成员使用TryParse模式,以避免与异常相关的性能问题。
因此,如果您的代码在常规用例下意味着它可能抛出异常(比如解析一个整数),那么TryParse模式是有意义的。
发布于 2013-06-20 15:31:07
(更正)正如Erik建议的那样,有官方的指导方针。
当我看到TrySomething
方法时,我假设它是
我期望的值不会抛出存在的返回值,它是通过‘parameter
Something
方法返回的,它允许我自己处理任何异常。(编辑,杰西·韦伯建议)发布于 2013-06-20 18:13:00
我认为当你想继续的时候,你应该使用try
。方法是否返回某个值并不重要。
情况1:如果返回正常,您可以通过某种方式继续操作。
情况2:如果它没有返回:它仍然是正常的;您可以用其他方法继续。
如果您希望该方法输出一些值,那么可以使用out
参数。
示例
int value
if (dictionary.TryGetValue("key", out value))
{
// Proceed in some way
}
else
{
// Proceed in some other way
}
https://stackoverflow.com/questions/17207712
复制相似问题