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

  • Jesse Pimenta

    Jesse Piment

    5 EKİM 2011
  • Maschine Tutorials

    Maschine Tut

    15 ŞUBAT 2011
  • picster

    picster

    20 NİSAN 2006