2011-04-28 7 views
5

Estoy usando Eclipse para programar en Scala pero me da un error cuando uso la anotación @throws.@throws problema en Scala

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]) 
    } 

} 

Respuesta

13

@throws, como usted escribió, es una anotación Scala , que anota un método y explícitamente declara que este método puede lanzar una excepción del tipo declarado (o una subclase). Las anotaciones son metainformación sobre la declaración. Al igual que en Java, la anotación pertenece justo antes de la declaración del método. Es posible que desee leer un poco más sobre Scala anotaciones aquí:

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

Ahora, en relación con excepciones: No hay excepción comprobada en Scala, a diferencia de en Java, por lo que la anotación @throws lugar se pueden ver como documentación, mientras que en Java es obligatorio si el compilador determina que puede lanzar una excepción que no sea RuntimeException en el cuerpo del método.

Finalmente: si quiere lanzar una excepción en Scala, escriba throw new SlickException.

Cuestiones relacionadas