我正在开发一个C#实用程序类,它通过SSH在Linux服务器上运行外部命令(我正在使用SharpSSH;到目前为止我喜欢它并且我推荐它)并返回一些有意义的信息在命令的输出上。
上述输出中的某个地方是一个永远不应超出某个范围的整数,但我想防止这种不太可能的可能性。抛出更合适的例外是收到的数字实际上在范围之外?我在想ArgumentOutOfRangeException
,但这不是一个真正的争论。自动填充不会给我任何好的候选人。有什么建议吗?
答案 0 :(得分:2)
抛出的异常类型只与两个原因相关:
所以,回答你的问题,
Exception
的自定义异常,并提供必要的详细信息。ApplicationException
或可能InvalidOperationException
以了解您所描述的错误类型。答案 1 :(得分:1)
我建议InvalidOperationException。如果该值可能进入可能使用的范围(比如将来),则另一个选项是NotSupportedException。
最终我建议:
namespace YourProtocol
{
public class UnexpectedProtocolValueException : Exception
{
答案 2 :(得分:1)
您可以在Mike Vallotton的博客上找到complete list of .NET Exceptions - 这可以帮助您做出决定。如果做不到这一点,你可以随时create your own custom Exception class。