C# 要抛出什么样的异常?
这个问题听起来可能有点愚蠢,但现在它来了 我有两个函数可以随时调用。第一个函数获取快照,第二个函数分析从该快照获取的数据。当然,如果用户在拍摄快照之前尝试分析快照,我的应用程序应该抛出异常。我知道,C# 要抛出什么样的异常?,c#,.net,vb.net,exception-handling,exception,C#,.net,Vb.net,Exception Handling,Exception,这个问题听起来可能有点愚蠢,但现在它来了 我有两个函数可以随时调用。第一个函数获取快照,第二个函数分析从该快照获取的数据。当然,如果用户在拍摄快照之前尝试分析快照,我的应用程序应该抛出异常。我知道,ArgumentOutOfRangeException通常在……存在无效参数时抛出,但事实并非如此。这种情况是否存在内置异常,或者我是否必须使用ArgumentOutOfRangeException 谢谢?听起来像是一个无效的例外。 这就是说,如果你能设计你的API,使你不能在这种情况下,这将是更好
ArgumentOutOfRangeException
通常在……存在无效参数时抛出,但事实并非如此。这种情况是否存在内置异常,或者我是否必须使用ArgumentOutOfRangeException
谢谢?听起来像是一个无效的例外。 这就是说,如果你能设计你的API,使你不能在这种情况下,这将是更好的。类似于(伪):
像这样,没有办法无序调用它们。我会使用-当提供给方法的参数之一无效时引发的异常 你为什么让他弄错了?一种方法怎么样
ISnapshot getSnapshot()
使用ISnapshot具有分析方法。或者只使用analyze()来获取快照,如果快照不可用“当方法调用对对象的当前状态无效时引发的异常。”+1,我会采用这种方法,通过要求代码在访问方法之前实际拥有快照来消除问题。我明白你的意思,但也许在这种情况下是不合适的。
ISnapshot getSnapshot()