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

  • bombjack2991

    bombjack2991

    29 HAZİRAN 2008
  • Sarah's YouTube Channel

    Sarah's YouT

    27 Temmuz 2009
  • Submissions101

    Submissions1

    23 ŞUBAT 2007