5

我正在使用 Eclipse 在 Scala 中编程,但是当我使用@throws注释时它给了我一个错误。

import org.newdawn.slick.AppGameContainer
import org.newdawn.slick.BasicGame
import org.newdawn.slick.GameContainer
import org.newdawn.slick.Graphics
import org.newdawn.slick.SlickException
import scala.throws

object Base extends BasicGame("SNAKE!")
{  
  def main(args: Array[String]) 
  {
      println("Starting up")
  }

  def init(container : GameContainer)
  {
    @throws(classOf[SlickException])
  }

}
4

1 回答 1

13

@throws,正如您所写,是一个 Scala注释,它注释一个方法并显式声明该方法可能会抛出声明类型(或子类)的异常。注释是声明的元信息。就像在 Java 中一样,注解就在方法声明之前。您可能想在此处阅读有关 Scala 注释的更多信息:

http://www.scala-lang.org/node/106

现在,关于异常:与 Java 不同,Scala 中没有已检查异常,因此@throws注释可以被视为文档,而在 Java 中,如果编译器确定您可能会抛出一个RuntimeException不在方法。

最后:如果您想在 Scala 中抛出异常,请编写throw new SlickException.

于 2011-04-28T07:25:20.433 回答