Programlama hataları, uygulamaların çalışma biçimindeki kusurlardır. Bunlara genellikle "hatalar" denir, bu nedenle "hata ayıklama" terimi kullanılır.

Bir geliştirici olarak, kendinizi hataları düzeltmek için çok zaman harcarken bulacaksınız. Karşılaşacağınız bazı hatalar yaygındır ve bunları bilmek, ilk etapta onları önlemenize yardımcı olacaktır.

İşte bu üç tür programlama hatası hakkında bilmeniz gerekenler ve bunlara karşı nasıl korunabileceğiniz:

1. Çalışma Zamanı veya Yürütme Hataları

Bunlar, bir program yürütülürken (yani çalışma zamanında) oluşan hatalardır. Bir programın düzgün çalışmamasına veya hatta hiç çalışmamasına neden olabilirler.

Ölümcül çalışma zamanı hataları, program yürütmesinin durmasına neden olurken, ölümcül olmayanlar yürütmenin bitmesine neden olur, ancak yanlış sonuçlar verir.

Tipik bir çalışma zamanı hatası, sıfıra bölme hatasıdır. Sıfıra bölmenin sonsuz bir sonuç vermesi gerekiyor ama ne yazık ki henüz bu kadar veriyi depolayabilecek bir veri yapısı bulamadık.

instagram viewer

Bu nedenle, sıfıra bölme, Java derleyicisinde aritmetik bir istisnaya yol açar.

2. Mantık Hataları

Mantık hataları, hatalı muhakeme nedeniyle oluşur. Bu hataların mutlaka yaptığınız bir “hata”dan kaynaklanmadığına dikkat etmek önemlidir. Belirli bir yürütme senaryosunu düşünmediğiniz için ortaya çıkabilirler.

İşlenmesi en zor olanlardır. Bunun nedeni, mantık hatası olan kodun yazıldığı dilde geçerli bir program olmasıdır. Bu nedenle derleyici hatası vermez. Tek sorun, yanlış sonuçlar vermesidir.

Ölümcül bir mantık hatası, program yürütmesinin durmasına neden olurken, ölümcül olmayan bir hata, program yürütmesinin devam etmesine izin verir, ancak yanlış sonuçlar verir.

Yaygın bir mantık hatası, tek tek bir hatadır. Bu, normalde bir döngü-devam koşulu belirtilirken meydana gelir. Diyelim ki ilk beş kare sayıyı yazdırmak istiyorsunuz.

İlişkili: En Yaygın Programlama ve Kodlama Hataları

Aşağıdaki kodu for döngünüze yazabilirsiniz; bu, yalnızca bu tür ilk dört sayıyı verir.

for( int x=1; x<5; x++){ System.out.ln (x*x); }

Böyle bir hatayı önlemek için bunun yerine <= işaretini kullanabilirsiniz. Küçüktür veya eşittir işaretini kullanmak daha sezgiseldir ve bu nedenle ilişkisel işlemlerinizi karıştırmanız daha az olasıdır.

Diğer bir yaygın mantık hatası, bir kontrol ifadesinin her iki parantezini dışarıda bırakmaktır ve yine de aşağıdaki gövde, kontrolü altında olan bir kod bloğu oluşturur.

Aşağıdaki örneğe bakın. Rastgele bir sayının tek mi çift mi olduğunu kontrol eder, ardından bir çıktı yazdırır.

java.util'i içe aktarın. rastgele;
genel sınıf OddEven{
public static void main (String[] args) {
Rastgele sayıGenerator = new Random();
int randomNumber = numberGenerator.nextInt (10);
if ((randomNumber%2)==0)
System.out.println("İşte şanslı numaranız :" + randomNumber);
System.out.println("Aldığınız "+ randomNumber +" sayısı çifttir"); // satır 11
}
}

Bildirim Satırı 11. Aldığınız rastgele sayının çift olup olmadığına bakılmaksızın her zaman yürütülür. Aldığınız sayı tek olduğunda bu elbette mantıksal olarak yanlış olur.

Her ikisi de dahil System.out.println { } parantezleri arasındaki ifadeler bundan kaçınırdı.

İlişkili: Tüm Programcıların Bilmesi Gereken Yazılım Geliştirme Adımları

Dikkat edilmesi gereken başka bir mantık hatası, bir döngü sonlandırma koşulu sağlamamaktır. Bu, sonsuz bir döngüye neden olur ve programınız asla yürütmeyi bitirmez.

3. Sözdizimi veya Derleme Zamanı Hataları

Bunlar, Java'nın dil kurallarının ihlalinden kaynaklanan hatalardır. Derleme veya derleme zamanı hataları olarak da adlandırılırlar.

Derleyiciniz bunları her zaman rapor edeceğinden, bunlar işlenmesi en kolay hatalardır. Hatta birçok derleyici devam eder ve kodunuzdaki hatanın açık olduğunu size söyler.

Hata Toleransı

Yazılım sorunlarıyla uğraşmanın pratik bir yolu, istisna işlemeyi dahil ederek hata toleransını kullanmaktır. Kullanabilirsiniz dene.. yakala Bunu başarmak için ifadeler.

Yakalanan istisnadan bağımsız olarak program yürütmeye devam etmek için tutmak engelle, kullan en sonunda Beyan.

Sözdizimi:

try{ // Sorun yoksa yürütmeyi engelle } 
yakalamak (İstisna e){
// Bulunan sorunları işlemek için engelle
}son olarak{ // Yakalamadan sonra yürütmeyi engelle
}

Aşağıdaki kod örneğine bakın:

java.util'i içe aktarın. rastgele;
public class RandomNumbers{
public static void main (String[] args) {
Rastgele sayıGenerator = new Random();
Deneyin{
for (int sayaç = 10; sayaç<=100; sayaç++){
int randomNumber = numberGenerator.nextInt (10);
System.out.println (sayaç/rastgeleSayı); } }
yakalamak (İstisna e){
System.out.println("Sıfıra bölme ile karşılaşıldı!");
}
en sonunda{
System.out.println("Sonsuz değer alındı");}
}
}

Yukarıdaki program sıfır ile 10 arasında rastgele bir sayı üretir ve ardından bu sayıyı 10 ile 100 arasında bir sayaç değerini bölmek için kullanır. Sıfıra bölme ile karşılaşılırsa, sistem hatayı yakalar ve bir mesaj görüntüler.

Kodlamada Daha İyi Olun

Kodunuza yorum eklemek iyi bir uygulamadır. Bu, bir hatanız olduğunda dosyalarınızı kolayca taramanıza yardımcı olur. Güçlü kodlama uygulamaları geliştirmek için küçük ama çok önemli bir adım.

İyi kodlama uygulamaları ile yaygın programlama hatalarından kaçınabilmelisiniz.

E-posta
Kodlama Nedir ve Nasıl Çalışır?

Kodlama konusunda kafanız mı karıştı? Komut dosyasını anlamıyor musunuz? İşte programlamanın yapı taşları hakkında bilmeniz gerekenler.

Sonrakini Oku

İlgili konular
  • Programlama
  • Java
  • Kodlama İpuçları
Yazar hakkında
Jerome Davidson (14 Makale Yayınlandı)

Jerome, MakeUseOf'ta Personel Yazarıdır. Programlama ve Linux ile ilgili makaleleri kapsar. Aynı zamanda bir kripto meraklısı ve kripto endüstrisini her zaman takip ediyor.

Jerome Davidson'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Bir adım daha…!

Lütfen size az önce gönderdiğimiz e-postadaki e-posta adresinizi onaylayın.

.