如何抛出下溢异常?

时间:2017-01-25 10:31:12

标签: c# .net exception

在C#中我可以抛出溢出异常:

throw new System.OverflowException("Cannot push onto a full stack.");

如何抛出下溢异常?

throw new System.UnderflowException("Cannot pop from an empty stack.");

UnderflowException的方法看起来不像System

2 个答案:

答案 0 :(得分:6)

没有UnderflowException。如果你这样做:

var stack = new Stack();
stack.Push(1);
var x1 = stack.Pop();
var x2 = stack.Pop();

您将获得InvalidOperationException

  

堆叠空。

但是你可以完全自由地创建自己的Exception类:

public class UnderflowException : Exception
{
    public UnderflowException(string message): base(message)
    {           
    }
}

如果您需要,请抛出它:

throw new UnderflowException("Could not pop from empty stack");

答案 1 :(得分:1)

您可以创建自己的空Exception并抛出:

public class UnderflowException : Exception
{

}

然后在你的函数中:

throw new UnderflowException();