SORU
14 Aralık 2012, Cuma


Yakalanamayan ChuckNorrisException

java.lang.ChuckNorrisException varsayımsal bir yakalanamayacak yapacak Java kod parçacığı oluşturmak mümkün mü?

Akla gelen düşünceler örneğin önleyicilerin kullanarak veya 20**.

CEVAP
14 Aralık 2012, Cuma


Denemedim bu yüzden bilmiyorum JVM ki kısıtlamak gibi bir şey bu, ama belki de derleme kod atar ChuckNorrisException ama zamanı sağlayan bir sınıf tanımı ChuckNorrisExceptionThrowable kapsamaz.

GÜNCELLEME:

İşe yaramıyor. Doğrulayıcı bir hata oluşturur:

Exception in thread "main" java.lang.VerifyError: (class: TestThrow, method: ma\
in signature: ([Ljava/lang/String;)V) Can only throw Throwable objects
Could not find the main class: TestThrow.  Program will exit.

GÜNCELLEME 2:

Aslında, eğer bayt kod doğrulayıcı devre dışı bırakırsanız bu iş için alabilirsiniz! (-Xverify:none)

GÜNCELLEME 3:

O evden takip için, burada tam komut:

Aşağıdaki sınıfları oluşturun:

public class ChuckNorrisException
    extends RuntimeException // <- Comment out this line on second compilation
{
    public ChuckNorrisException() { }
}

public class TestVillain {
    public static void main(String[] args) {
        try {
            throw new ChuckNorrisException();
        }
        catch(Throwable t) {
            System.out.println("Gotcha!");
        }
        finally {
            System.out.println("The end.");
        }
    }
}

Sınıflar derleme:

javac -cp . TestVillain.java ChuckNorrisException.java

Çalıştırın:

java -cp . TestVillain
Gotcha!
The end.

"RuntimeException" ve . uzanır yorum ^em>yeniden ChuckNorrisException.java sadece:

javac -cp . ChuckNorrisException.java

Çalıştırın:

java -cp . TestVillain
Exception in thread "main" java.lang.VerifyError: (class: TestVillain, method: main signature: ([Ljava/lang/String;)V) Can only throw Throwable objects
Could not find the main class: TestVillain.  Program will exit.

Doğrulama olmadan çalıştırın:

java -Xverify:none -cp . TestVillain
The end.
Exception in thread "main"

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bobbylee Budde

    Bobbylee Bud

    13 ŞUBAT 2011
  • Howard Pinsky

    Howard Pinsk

    6 AĞUSTOS 2006
  • Soulkiller13 ツ

    Soulkiller13

    30 Mayıs 2013

İLGİLİ SORU / CEVAPLAR