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

  • AndyMcMillinTV

    AndyMcMillin

    6 HAZİRAN 2007
  • CommonArtisan

    CommonArtisa

    7 Temmuz 2012
  • TouchePro

    TouchePro

    27 EYLÜL 2007