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

  • CaptainDisillusion

    CaptainDisil

    18 EYLÜL 2007
  • ColdfusTion

    ColdfusTion

    3 Aralık 2007
  • Thom Hall

    Thom Hall

    24 Kasım 2006

İLGİLİ SORU / CEVAPLAR