2013-12-12 25 views
6

Java'dan scala kodu çağırmam gerekiyor, bu yüzden derleyiciye belirli bir yöntemin belirli istisnalar attığını söylemeliyim. Bu easy to do for one exception, ancak bir yöntemin birden çok özel durum eklediğini bildirmek için uğraşıyorum.Scala Birden çok özel durumu karşılar

@throws(classOf[ ExceptionA ], classOf[ExceptionB]) 

Ve açıkçası, ne yapar:

Bu işe yaramazsa

aşağıdaki gibi tanımlanır
@throws(classOf[ ExceptionA , ExceptionB]) 
+0

Bunun yerine birden fazla @ @ throws' ekleme yapmayı denediniz mi? Bu işe yararsa bana bildirin ve bir cevap olarak ekleyeceğim – cmbaxter

+0

@ cmbaxter Sadece yorumunuzu gördüğümde denedim ve işe yarıyor. Lütfen cevap olarak ekleyin ve kabul edeceğim – goncalopp

cevap

9

@throws yapıcıya bakarken, tek bir Class[_] bağımsız değişkeni alır. Bunu dikkate alarak, çoklu sınıfları temsil etmek için dizi gösterimini kullanamazsınız. Bu nedenle, her bir desteklenen özel durum için bir kez ek açıklama eklemek için alternatif:

@throws(classOf[ExceptionA]) 
@throws(classOf[ExceptionB]) 
4

@throws:

class throws[T <: Throwable](cause: String = "") extends scala.annotation.StaticAnnotation {...} 

Yani sadece koyabilirsiniz ek açıklama başına bir istisna. İstisna başına bir ek açıklama ekleyin.