是否有"尝试"惯例?

Kye*_*Kye 3 .net try-catch

我有时会在.net框架中看到以"Try"为前缀的方法,例如int.TryParse(..).

我假设这意味着该方法与int.parse相同,但包含在try catch中?

这是否意味着如果我编写的方法会尝试捕获它们(例如日志记录,我从不想引发异常),它们也应该以"try"为前缀?

Ode*_*ded 7

您的假设可能是正确的,但这不是Try***类型方法的含义.

承诺确实是该方法在调用时不会抛出异常(如何在内部管理无关紧要).

您会注意到这些方法返回一个布尔值,指示是否Try***成功.

这些TryParse方法具有一个out参数,如果成功,将使用解析的结果填充该参数.

直接回答问题:

  • 没有具体的约定
  • 如果方法的语义意味着不会抛出异常,但会通知调用代码成功/失败,您可以将其命名Try***为这样的名称隐含的行为