在Scala中@throws问题

The*_*Cat 5 scala exception throw

我正在使用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])
  }

}
Run Code Online (Sandbox Code Playgroud)

Jea*_*let 13

@throws正如您所写,是一个Scala 注释,它注释一个方法并显式声明此方法可能抛出声明的类型(或子类)的异常.注释是关于声明的元信息.与Java类似,注释仅在方法声明之前.您可能希望在此处阅读有关Scala注释的更多信息:

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

现在,关于异常:有在Scala中没有检查到的异常,不像在Java中,因此@throws而在Java中它是必需的注释可以,而被看作是文件,如果编译器确定,你可能会抛出异常,这不是一个RuntimeException在的身体方法.

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