Uzun bir aradan sonra merhaba değerli Java dostları,

Yine kısa bir yazı ile karşınızda olacağım. Bu yazıda Java’ da nadir de olsa karşılaşabileceğimiz VerifyError hatası ile ilgileneceğiz. Malumunuz Java’ nın gerek derleme gerekse de koşma sırasında çok sıkı güvenlik önlemleri bulunuyor. VerifyError, runtime sırasında verilen bir hata ve temel iki nedeni var.

  1. Class dosyalarını oluşturduğunuz Java sürümü ile çalıştırdığınız Java sürümleri birbirileri ile uyumlu değildir. Örneğin Java 8 ile class dosyası oluşmuşken bunu Java 13 ile koşmaya çalışmak.
  2. Class dosyaları derlendikten sonra Java’ nın kurallarına aykırı olacak şekilde source code üzerinde değişiklik yapıp sadece bu dosyayı veya dosyaları derlemek. Örnek verecek olursak

[pastacode lang=”java” manual=”class%20A%20%7B%7D%0A%0Aclass%20B%20extends%20A%20%7B%7D” message=”” highlight=”” provider=”manual”/]

Daha sonra A sınıfı üzerinde değişiklik yapıp sadece A yı derliyoruz.

[pastacode lang=”java” manual=”final%20class%20A%20%7B%7D%0A” message=”” highlight=”” provider=”manual”/]

Bu durumda teorik olarak B sınıfı A’ dan extends olamaz ve runtime sırasında hata alınır. Aynı durum metot için de geçerlidir.

Bol Java’ lı günler dileğiyle… 😀

Categories:

No responses yet

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir