SORU
10 HAZİRAN 2010, PERŞEMBE


&; İddia" anahtar kelime " ne yapar?

assert ne yapar? İşlevi: örneğin

private static int charAt(String s, int d) {
    assert d >= 0 && d <= s.length();
    if (d == s.length()) return -1;
    return s.charAt(d);
}

CEVAP
10 HAZİRAN 2010, PERŞEMBE


Eğer -enableassertions ile VM sonra başlarsanız bu . Kısacası:

assert cond;

gibi davranır

if (!cond)
    throw new AssertionError();

Eğer -enableassertions olmadan VM başlatırsanız (iddia deyim hiç yürütülmez.)

Eğer söz konusu iddia çok assert d >= 0 && d <= s.length(); eşdeğerdir

if (!(d >= 0 && d <= s.length()))
    throw new AssertionError();

Eğer program başlatıldı (java -enableassertions YourProgram ile.)


Resmi olarak, Java Language Specification: 14.10. The assert Statement şunları söylüyor:

14.10 geçerli. assert DeyimBir onaylama assert deyimi bir boolean ifadeyi içeren. Bir iddiaya devre dışı ya da etkin. Eğer onaylama işlemi etkinleştirilmişse, onaylama, yürütme boolean ifadenin değerlendirilmesine neden olurbir hata bildirdieğer bu ifade 17 ** değerlendirilirse. Eğer onaylama işlemi devre dışı bırakılırsa, bu iddianın infaz hiçbir etkisi olmaz.

Nerede< . em ^"etkin veya devre dışı"-ea anahtarı ile kontrol edilir"Bir hata bildirdi"AssertionError atılır bir araç bu.


Ve son olarak, assert daha az bilinen bir özelliği

Bu gibi : "Error message" ekleyebilirsiniz:

assert d != null : "d is null";

atılan AssertionError hata iletisi ne olması gerektiğini belirtmek için.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Random Act of Kindness Video Contest

    Random Act o

    18 EYLÜL 2012
  • Microsoft Help & Training Videos

    Microsoft He

    31 Mart 2009
  • Sam Kear

    Sam Kear

    14 Temmuz 2007