当您抛出异常时,您可以输入一条方便的消息,以提供有关操作失败原因的更多信息。
显然,在通常会死掉的方法上抛出异常并不是一个好习惯。
MSDN 上的这篇文章同时建议了TryParse
模式和Tester-Doer
模式,但是这些模式都不允许您提取有关方法失败原因的任何信息。
是否有一种可接受的模式来传递安全失败的方法,让您收集更多关于失败原因的数据?
显然,您可以执行类似的操作public FailureReason TryParseWithMessage(string s, out MyClass myClass)
,public bool TryParseWithMessage(string s, out MyCLass myClass, out FailureReason failureReason)
但对于该方法成功的正常情况,这些似乎有点脏...