doğru istisna: şöyle Java onu çağırma@throws yakalamak için Java çağıran izin vermez Bazı Scala böyle koduna sahip tip
class Callee {
@throws(classOf[MyCheckedException])
def doStuff() {
}
}
:
public class Caller {
public static void main(String[] args) {
// this won't compile; the Java compiler complains that the catch block is unreachable
// however without the catch block, it complains "unhandled exception MyCheckedException"
try {
new Callee().doStuff();
}
catch (MyCheckedException e) {
}
}
}
catch bloğu Çıkarma "derlenmemiş özel durum türü MyCheckedException" yazan bir Java derleyicisinden bir hatayla sonuçlanır. MyCheckedException için catch bloğunun eklenmesi, derleyicinin erişilemeyen catch bloğu hakkında şikâyette bulunmasına neden olur, çünkü istisna asla atılmaz.
İstisna yakalayıp bir instanceOf yaparsam, doStuff'dan gelen doğru özel durumu yakalayabilirim, ancak @throws ek açıklamasının düzgün bir catch bloğunun çalışması için doğru bayt kodu oluşturduğunu sanıyordum. Yanlış mıyım yoksa burada bir böcek mi var?
Kayıt için, bu Scala 2.9.2 ve Java 1.6 ile.
Düzenleme: Komut satırından sbt kullanarak javac/scalac komutunu güzelce derler. Hata, Eclipse'de derleme sırasında olduğu gibi görünür. Bu, hatanın Eclipse Java Derleyicisi'nde veya IDE'nin bazı bölümlerinde olduğunu gösterir. Diğerleri bu şekilde yeniden üretebilir mi? Eclipse 3.7.2
yardım –
yeniden Can not bazı kod göstermek Eğer eksiksiz bir örnek sağlayabilir? – axtavt
Tam sınıflar şimdi –