我有一个可能是空的Stack。我想检查它是否为空,如果是,我想抛出StackUnderFlowException
:
if(myStack.empty()) {
throw new StackUnderFlowException("Some error message");
}
问题:
如何导入StackUnderFlowException
类,因为我此刻收到此错误:
PriceHolder类型的方法foo(String)引用缺少的类型StackUnderFlowException
非常感谢。
答案 0 :(得分:1)
从概念上讲,您将流量控制用于您期望发生的事情,并将事件的异常用于不应发生的事情。在我看到的大多数库(包括标准Java库)中,尝试访问不存在的容器元素被认为是编程错误,并且通常使用异常或类似机制发出信号。
对于#2,您需要确定StackUnderFlowException所在的包。如果您需要帮助,请指定您正在使用的StackUnderFlowException。
答案 1 :(得分:0)
效率这么高吗?
当然可以。它应该永远不会发生,除了带有错误的代码,谁关心代码是如何无法正确执行的?
我知道你不打算使用Exceptions进行流量控制。
无论那意味着什么。这个gnomic pronunciamento 的问题在于,例外是一种流控制形式。对于此业务中收到的意见,请不要太垂涎。其中许多都是短暂的,还有更多是毫无价值的。在这种情况下,抛出异常是完全合理的。在这种情况下比使用带外返回值更好,有时不是任何带外返回值。
我不认为我是因为我明确检查堆栈是否为空?
我不明白这句话的相关性。
如何导入StackUnderFlowException类
什么 StackUnderflowException
课程? JDK中没有一个。你必须写吗?