SORU
1 ŞUBAT 2009, Pazar


Neden't Java Throwable genel alt izin vermemektedir?

*, 3* 9 baskısına göre:

It is a compile-time error if a generic class is a direct or indirect subclass of Throwable.

Bu karar olmuştur neden anlamak isterdim. Genel istisnalar nesi var?

(Bildiğim kadarıyla, jenerik sadece derleme zamanı sözdizimsel şeker ve onlar tercüme Object zaten .class dosyaları, çok etkili ilan bir genel sınıf gibi her şeyin olduğu bir Object. Eğer yanılıyorsam beni düzeltin lütfen.)

CEVAP
1 ŞUBAT 2009, Pazar


Mark dediği gibi, türleri şu durumda bir sorun olan reifiable değildir:

try {
   doSomeStuff();
} catch (SomeException<Integer> e) {
   // ignore that
} catch (SomeException<String> e) {
   crashAndBurn()
}

Her iki SomeException<Integer> SomeException<String> silinecek aynı tür bir yolu yoktur için JVM ayırt hariç örnekleri, ve bu nedenle hiçbir şekilde söyle catch engellemelisiniz yürütülür.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Alfredo Garcia

    Alfredo Garc

    25 Mayıs 2007
  • Joanna Okrajni

    Joanna Okraj

    4 EYLÜL 2010
  • Myron and Nejusha dance

    Myron and Ne

    2 AĞUSTOS 2012