IllegalArgumentException Nedir?
Java’daki pek çok metot, kullanıcılardan belirli türde veriler alır ve eğer bu veriler beklenen tür veya formatta değilse, IllegalArgumentException fırlatılır. Yani, bu hata tam olarak "hey, burada bir yanlışlık var" diyen bir uyarıcıdır.
IllegalArgumentException Nasıl Oluşur?
Java'da IllegalArgumentException hatasını kendiniz de tetikleyebilirsiniz. İstediğinizde, kullanıcıdan aldığınız verilerin geçersiz olduğunu kontrol etmek için bu hatayı kullanabilirsiniz. İşte bir örnek:
public class UserAgeValidator {
public static void validateAge(int age) {
if (age < 0) {
throw new IllegalArgumentException("Yaş negatif olamaz!");
}
System.out.println("Geçerli yaş: " + age);
}
public static void main(String[] args) {
try {
validateAge(-5);
} catch (IllegalArgumentException e) {
System.out.println("Hata: " + e.getMessage());
}
}
}
Yukarıdaki kod parçası, bir kullanıcının yaş bilgisini alır ve bu yaşın negatif olup olmadığını kontrol eder. Eğer negatif bir değer girilirse, IllegalArgumentException tetiklenir ve hata mesajı yazdırılır.
IllegalArgumentException İyi Bir Uyarıcıdır
Örneğin, bir banka uygulamasında para transferi işlemi yaparken, kullanıcıdan alınan miktarın negatif olmaması gerektiğini kontrol edebiliriz. Eğer bir kullanıcı 0 veya negatif bir değer girerse, IllegalArgumentException fırlatarak hata mesajı ile bilgilendirebiliriz.
Ne Zaman IllegalArgumentException Kullanmalıyız?
1. Geçersiz girişler: Kullanıcıdan alınan veriler geçersiz olduğunda.
2. Sistem beklentileri: Programınızın belirli sistem beklentilerini karşılamayan argümanlarla karşılaştığında.
3. Kapsamlı doğrulamalar: Parametrelerin doğruluğunu doğrulamak için.
Unutmayın, bu hata genellikle bir "önlem" olarak kullanılır. Yani yazılımınızın güvenliğini artıran ve kullanıcı hatalarından dolayı büyük problemlerin önüne geçen bir araçtır.
Hata Mesajlarını Anlamlı Yapmak
Örneğin, “Geçersiz giriş” yerine “Yaş negatif olamaz” gibi daha özgül bir mesaj daha faydalıdır.
IllegalArgumentException ve Diğer Hata Türleri
- NullPointerException: Bir nesnenin null olduğu bir durumda meydana gelir.
- IndexOutOfBoundsException: Bir dizinin veya koleksiyonun geçersiz bir indeksine erişildiğinde fırlatılır.
Sonuç: IllegalArgumentException İyi Bir Arkadaşınız Olabilir
Her yazılımcının IllegalArgumentException ile tanışması gerekir. O, gizli kahramanınızdır!