Assertion, kodumuzda bir şeyin doğru olmasını beklediğimiz bir noktaya yerleştirdiğimiz mantıksal bir ifadedir. Bir assertion kod üzerindeki kusurların tespit edilmesine izin verir. Aşağıda kullanım şekli gösterilmiştir. test_değeri boolean bir değerdir. Assertion uygulamada default olarak etkin değildir. Assertion etkinleştirildiğinde ve boolean değer false ise; runtime zamanında bir AssertionError fırlatılır. Programın böyle bir hata yakalaması, programın sonlandırılmasına neden olur. Assertionlar isteğe bağlı olarak parantezler ve bir mesaj bulundurabilir.
assert test_değeri(boolean)
assert test_değeri(boolean) : mesaj (opsiyonel)
Bir assertion ifadesi 3 sonucu vardır: İlk olarak bir assertion devre dışı bırakılırsa, Java assertionu atlar ve koda devam eder. İkincisi; Assertion etkinleştirilirse ve boolean ifade true ise, assertion doğrulanmış olur ve uygulama çalışmaya devam eder. Üçüncü olarak; Asertion etkinleştirilmiş ve boolean ifade false ise, assertion geçersiz olur ve bir AssertionError hatası fırlatılır.
Assertion etkinleştirme/etkisiz hale getirme
Varsayılan olarak assert anahtar kelimesi runtime zamanda JVM tarafından yok sayılır. Assertionları etkinleştirmek için komut satırında -enableassertions yani -ea bayrağı seçilmelidir. Örneğin; java -ea test.java.
Bazen de uygulama için assertionları etkinleştirilir, ancakbazı pakaet veya sınıflar için devre dışı bırakmak isteyebiliriz. Java bunun için -disableassertion yani -da bayrağının seçilmesi gerekir.
Günümüzde ide üzerinden uygulama geliştirdiğimiz için bir assertion Eclipse üzerinden etkinleştirilmesi aşağıdaki gibidir :
Run -> Run Configurations tıklanır. Açılan pencerede Arguments tabı tıklanır. Burada VM arguments kısmına -ea yazmamız yeterlidir.
Aşağıdaki gibi basit bir assertion kullanımına bakalım:
public class AssertionSample {
 public static void main(String[] args) {
	int sayi = -10;
	assert sayi > 0;
	System.out.println(sayi);
}
}
Burada assertion ifademiz false döneceği için aşağıdaki gibi bize bir AssertionError hatası fırlatacaktır:
Exception in thread “main” java.lang.AssertionError
at assertion.AssertionSample.main(AssertionSample.java:4)
EtiketlerAssertions
Yazı dolaşımı
Önceki YazıÖnceki Java Exceptions
Sonraki YazıSonraki Java Internationalization/Localization
Bir cevap yazın Cevabı iptal et
E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir
Yorum
İsim *
E-posta *
İnternet sitesi
Bir dahaki sefere yorum yaptığımda kullanılmak üzere adımı, e-posta adresimi ve web site adresimi bu tarayıcıya kaydet.
Kategoriler
Java
Interface Static Methods
Interface Default Methods
Java Platform Modular System (JPMS) 2
Java Platform Modular System (JPMS) 1
Java- var Keyword
Etiketler
anotation anotasyon Assertions Collections comparable default methods Enum enumaration Exception HashSet inner class Java jpms keyword List Interface local class anonymous class localization Map Interface module Nested class quene interface Set Specific Anotasyonlar static methods static nested class TreeSet try-with-resources var