İçindekiler:
- İsteğe bağlı hata işleme
- Daha az spesifik hatalarla daha özel hale getirme
- İstisnaları önlemek için isteğe bağlı nesneleri kullanma
Video: Exception Handling (Hata Yakalama) Nesne Yönelimli Programlama 18. Video 2024
Öğrenme amacıyla bulduğunuz Java kod örneklerinin birçoğunda hata yakalama bulunmaktadır. Örnekler sizi hata yakalama işlemine gömmeyecektir, ancak mümkün olduğunca iyi hata yakalama tekniklerini uygulama kodunun bir parçası yapacaklardır (ve hata yakalama kodu örnekin amacını tamamen gizlemez).
Bu düşünceyle, aşağıdaki bölümlerde hataları yakalamak için kullanılan teknikler hakkında genel bir bakış sunulmaktadır. Java uygulamalarında sıkça kullanılan üç farklı hata hata ayıklama seviyesi göreceksiniz.
Hata yakalama , bir istisna tespit etmenin ve JRE'ye onunla bir şeyler yapmayı planladığınızı söyleme eylemidir. JRE, hatayı geçerli yöntemin çağıran kişiye iletmeyerek yanıt verir ve sorunu çözmek için geçerli yöntemi kullanır.
Hata yakalama, normalde bir try … catch deyiminin deneme bölümüyle ilişkilendirilirken, hata işleme normalde try … catch deyiminin catch kısmı ile ilişkilendirilir.
İsteğe bağlı hata işleme
"İsteğe bağlı hata işleme" ifadesi bir yanlış isim. İsteğe bağlı, çünkü Java, uygulamanızda çeşitli nesneleri kullanmanın bir parçası olarak gerçekleştirmenizi gerektirmez. Oluşturduğunuz her uygulama, Java eklemenizi gerektirmese bile hata giderme düzeyini içermelidir.
Aslında, oluşturduğunuz her uygulamaya, hatta basit test uygulamaları için hata işleme eklediğinizde, Java programlamanın bu yönünde yeterli olmanıza ve sizi bu uygulamayı takip etmeyen geliştiricilerin önünde bulmanıza yardımcı olur.
Hata işleme , uygulamanın sıkıştığı bir istisnayı çözme eylemidir. Bazı durumlarda, hatayı ele almak, kullanıcıya bir mesaj görüntüleme ve bir düzeltme istemek anlamına gelir. Bununla birlikte, hata işleme birçok formları alabilir, bunlardan bazıları tamamen otomatik ve kullanıcı için görünmez. Bu hareket, normalde try … catch deyiminin yakalama kısmı ile ilişkilidir.
Daha az spesifik hatalarla daha özel hale getirme
Çoğu uygulama birden fazla istisna oluşturabilir. Buna ek olarak, uygulamanın hangi istisnaları üretebileceğini tam olarak algılayamayabilirsiniz. Bu durumda, try … catch deyimi için birden fazla catch yan tümcesi sağlamanız gerekir. Her yakalama maddesi belirli bir hata türünde uzmanlaşmıştır.
Buna ek olarak, uygulamanız başlangıçta öngörmediğiniz küme içinde olmayan hatalarla karşılaştığında, bu durumlar için genel özel durum işleyicileri kullanabilirsiniz.
İstisnaları önlemek için isteğe bağlı nesneleri kullanma
Java ile çalışırken görebileceğiniz tüm istisnalar arasında NullPointerException (veya NPE) tanı koymanın en yaygın ve bazen en zorudur. Gerçek değer bekleyen bir Java işlevine null değer ilettiğinizde, bir NullPointerException olur. Sorun şu ki, bir NPE oluşturan her durum aslında bir problem değildir.
Bazen boş bir değer elde etmenizi beklersiniz ve bununla uğraşmak için bazı yöntemlere ihtiyaç duyarsınız. Örneğin, olası değerlerin bir listesinde belirli bir değeri bulmak istediğinizi göz önünde bulundurun. İstediğiniz değeri bulamayacağınız, null değer döndürmesiyle sonuçlanabileceği tamamen mümkündür.
Sonra null değeri işleme koymaya çalışırsanız, bir NPE elde edersiniz. Boş değerlerin oluşmasını beklediğinizden, hatayı bulmak korkunç derecede zor olabilir.
Şimdiye kadar, insan geliştiricilerinin bir bilgisayarın siyah-beyaz düşüncesini anlamaları zordu. Java 8 artık, bir işlevin bir dönüş değerinin gerekli değil isteğe bağlı olduğu durumlarla başa çıkmak için İsteğe bağlı nesneler sağlar.