当前位置: 首页 > 知识库问答 >
问题:

如果数组列表没有传入的对象,抛出哪个异常?[关闭]

齐向笛
2023-03-14

我有一个问题,当传入的对象不在数组列表中时,抛出什么异常。

public void deleteReview(Review review) {
    if(!reviews.contains(review)) {
        throw exception here..
    }

    reviews.remove(review);
}

共有1个答案

冯通
2023-03-14

您应该:

  • 创建自己的异常:如何在Java中创建自定义异常?
  • 使用IllegalArgumentException:抛出指示方法被传递了非法或不适当的参数。
  • 使用nosuchelementexception:由各种访问器方法引发,以指示所请求的元素不存在。
 类似资料:
  • 我很好奇是否可以在以下情况下使用orElseThrow(),或者是否有更Java的8种方法可以将其等效为1行?

  • 考虑<代码>产品<代码> > <代码>数量>代码>,可以通过给定的<代码>金额< /代码>来增加和减少。数量不得变为负值,如果将要发生,必须禁止操作,并警告用户。 例如,如果一个产品的数量为10,而我试图删除20,则抛出RuntimeException。SonarCloud建议用自定义异常替换RuntimeException,但我想知道是否有适合这种情况的标准异常(有效Java:支持使用标准异常)

  • 我知道一种方法是: 有什么更干净的方法吗?(可能使用JUnit的?)

  • 我正在尝试学习异常处理。我似乎找不到String[]a=names(scnr);若要在超出3个元素时抛出超出界限的异常,请执行以下操作。我知道,大多数人都讨厌越界的错误,而我正在努力让它发生,我一辈子都搞不清我到底做错了什么。一整天都在搜索各种东西。但我似乎找不到我要找的东西。所以我需要一些帮助和视角。 因此,我输入一个完整的字符串,我根据逗号和空格对其进行定界(修剪和拆分),然后将这些片段存储到

  • 问题内容: 我有以下代码片段,我不明白为什么它不起作用: 有人能指出我正确的方向吗? 我已经看到JonSkeet在另一个问题上的回答,但是那里的最后一个示例对我来说不起作用。即使我将强制类型转换添加到标记为的行或行中,也会出现编译错误。 问题答案: 您始终可以通过明确指定type参数来告诉Java您想要列表:

  • 在你可以捕获异常之前,一些代码必须抛出一个异常。任何代码都可能会抛出异常:您的代码,来自其他人编写的包(例如Java平台附带的包)或Java运行时环境的代码。无论是什么引发的异常,它总是通过 throw 语句抛出。 您可能已经注意到,Java平台提供了许多异常类。所有类都是Throwable类的后代,并且都允许程序区分在程序执行期间可能发生的各种类型的异常。 您还可以创建自己的异常类来表示在您编写