我是java新手。 我做了一个实现 FIFO 的类。我使用 LinkedList 来实现它。 我想知道当 Fifo 类的用户尝试从列表中删除空元素时应该抛出什么异常,以及如何正确执行此操作。
import java.util.*;
class Fifo<E>
{
private List<E> list = new LinkedList<E>();
public void add(E element)
{
list.add(element);
}
public E remove() throws IllegalStateException
{
if(list.isEmpty())
throw new IllegalStateException();
else
return list.remove(0);
}
}
使用它的一个例子是一家有订单队列的餐厅。
class Restaurant
{
static public void main(String[] args)
{
Fifo<Order> f = new Fila<Order>();
f.add(new Order("soup"));
try
{
System.out.println(f.remove().toString());
System.out.println(f.remove().toString());
}
catch(IllegalStateException e)
{
System.out.println("There is no more orders.");
}
}
}
必须是 RunTimeException 吗? 这种情况下,我类的用户就可以处理这个问题,只需要对系统的用户说没有更多的订单,而无需退出系统。
谢谢。
最佳答案
您可以像在 Collection 框架中那样抛出 java.util.NoSuchElementException
关于java - 这种情况下,异常应该如何处理呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33353666/