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 に答える