代码之家  ›  专栏  ›  技术社区  ›  Milo Lu

如何在方法中引发异常?

  •  0
  • Milo Lu  · 技术社区  · 6 年前
    def max(xs: List[Int]): Int = if(xs.isEmpty) throw java.util.NoSuchElementException else ...
    

    如果 xs 为空,应引发异常。但是我得到了一个错误,因为 java.util.NoSuchElementException 与返回类型不匹配 Int

    1 回复  |  直到 6 年前
        1
  •  2
  •   Yuval Itzchakov    6 年前

    你应该试试

    throw new NoSuchElementException("empty list")
    

    你想上一节课。在斯卡拉中,就像在Java中一样,只能抛出类的实例而不是类本身。您必须使用NosuchelementException的一个构造函数。