如果有人要求删除不存在的元素,我应该扔什么?

时间:2014-09-22 22:40:46

标签: c++ linked-list

我正在实现一个链表,我想知道如果列表为空,我应该从remove()函数返回什么。我查看了标准链表类,当列表为空时,它的remove方法调用未定义的行为。这不是我想要发生的事情。标准库中是否存在应该抛出的适当异常?

1 个答案:

答案 0 :(得分:2)

你可以抛出std::out_of_range。或者你甚至可以创建它的子类并抛出你自己的异常类。

从标准(n3797):

  

19.2.5.1类out_of_range定义作为异常引发的对象类型,以报告参数值不在其预期范围内。