@ выбрасывает проблему в Scala - PullRequest
5 голосов
/ 28 апреля 2011

Я использую 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])
  }

}

1 Ответ

13 голосов
/ 28 апреля 2011

@throws, как вы написали, является аннотацией Scala , которая аннотирует метод и явно объявляет, что этот метод может вызвать исключение объявленного типа (или подкласса).Аннотации являются метаинформацией о декларации.Как и в Java, аннотация принадлежит непосредственно перед объявлением метода.Вы можете прочитать немного больше об аннотациях Scala здесь:

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

Теперь об исключениях: нетПроверенное исключение в Scala, в отличие от Java, поэтому аннотацию @throws можно рассматривать как документацию, тогда как в Java это требуется, если компилятор определит, что вы можете выдать исключение, которое не является RuntimeException в теле метода.

Наконец: если вы хотите создать исключение в Scala, напишите throw new SlickException.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...