2011-04-28 4 views
5

में Ithrows समस्या मैं स्कैला में प्रोग्राम के लिए ग्रहण का उपयोग कर रहा हूं लेकिन जब मैं @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]) 
    } 

} 

उत्तर

13

@throws, जैसा कि आप ने लिखा है, एक स्काला एनोटेशन जो एक विधि annotates और स्पष्ट रूप से घोषणा करता है कि इस विधि घोषित प्रकार (या एक उपवर्ग) के एक अपवाद फेंक सकता है। घोषणाएं घोषणा पर मेटा-सूचना हैं। जावा में की तरह, एनोटेशन विधि घोषणा से ठीक पहले है। अपवाद के बारे में

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

अब,:: आप में थोड़ा और अधिक पढ़ सकते हैं स्काला के बारे में यहाँ अपनी टिप्पणियों कोई स्काला में जाँच अपवाद जावा में विपरीत, कर रहे हैं, तो @throws एनोटेशन बल्कि प्रलेखन के रूप में देखा जा सकता है, जबकि जावा में यह आवश्यक है कि संकलक निर्धारित करता है कि आप एक अपवाद फेंक सकते हैं जो विधि के शरीर में RuntimeException नहीं है।

अंत में: यदि आप स्कैला में अपवाद फेंकना चाहते हैं, तो throw new SlickException लिखें।