java - 这种情况下,异常应该如何处理呢?

标签 java exception

我是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/

相关文章:

java - 将音量恢复到原来的水平?

c++ - 正确使用cpp中的定义宏替换函数的名称

java - 使用 Jackcess 在 Java 中创建新的 MS Access 文件

java - 具有一个计划任务(可运行)的 ScheduledThreadPoolExecutor 始终报告作业计数器 + 1

java - raf.seek(pos) 的类似物

Java 小程序与 IE8 安全功能的兼容性

python - 如果给定的字符串与某种格式不匹配,引发哪个异常?

java - void 方法应使用哪个测试替身

java - SpeechRecognizer 什么都不做......我错过了什么

Spring 异常 : MethodArgumentTypeMismatchException