Programlamada Hata Türleri Nedir? Syntax, Runtime ve Logical Errors (ASP, PHP, Python)

Programlamada Hata Türleri

Syntax – Runtime – Logical Errors

Programlama öğrenirken hata yapmak NORMALDİR.
Önemli olan hatanın hangi türde olduğunu anlamak.

Programlamadaki hatalar 3 ana gruba ayrılır:

1️⃣ Syntax Errors (Yazım Hataları)
2️⃣ Runtime Errors (Çalışma Zamanı Hataları)
3️⃣ Logical Errors (Mantık Hataları)

1️⃣ Syntax Error (Yazım Hatası)

En basit hata türüdür
Kod daha çalışmadan hata verir
Dilin yazım kurallarına uyulmamıştır

Günlük Hayat Örneği

1“Bugün okula gidiyorum.” yerine
2“Bugün okula gidiyoru” yazmak gibi

🔴 Python Syntax Error

1if x > 5
2print("Merhaba")

❌ Hata nedeni:

: (iki nokta) unutuldu

✔️ Doğrusu:

1if x > 5:
2print("Merhaba")

🔴 PHP Syntax Error

1<?php
2echo "Merhaba"
3?>

❌ Hata nedeni:

; (noktalı virgül) yok

✔️ Doğrusu:

1<?php
2echo "Merhaba";
3?>

🔴 ASP (Classic ASP) Syntax Error

1<%
2If x = 5
3Response.Write "Merhaba"
4End If
5%>

❌ Hata nedeni:

Then eksik

✔️ Doğrusu:

1<%
2If x = 5 Then
3Response.Write "Merhaba"
4End If
5%>

🧠 Syntax Error Özet

✔ Dil çalışmaz
✔ Hata mesajı verir
✔ En kolay bulunan hatadır

2️⃣ Runtime Error (Çalışma Zamanı Hatası)

Kod çalışır ama çalışırken hata verir
Program yarıda durur
Genellikle kullanıcı girdisiyle olur
1Günlük Hayat Örneği
2
3Araba çalışıyor ama benzini bitince duruyor 🚗

🔴 Python Runtime Error

1x = 10
2y = 0
3print(x / y)

❌ Hata nedeni:

Sıfıra bölme olmaz

🔴 PHP Runtime Error

1<?php
2$sayi = 10 / 0;
3echo $sayi;
4?>

❌ Hata nedeni:

Sıfıra bölme

🔴 ASP Runtime Error

1<%
2dim x, y
3x = 10
4y = 0
5Response.Write x / y
6%>

❌ Hata nedeni:

Division by zero

🧠 Runtime Error Özet

✔ Kod çalışır
✔ Çalışma anında patlar 💥
✔ Try–Catch ile yakalanabilir

3️⃣ Logical Error (Mantık Hatası)

En tehlikeli hata türüdür
Kod çalışır
Hata vermez
Ama yanlış sonuç üretir
1Günlük Hayat Örneği
2
32 + 2 = 5 demek gibi
4Hesap yapılıyor ama sonuç yanlış

🔴 Python Logical Error

1sayi = 10
2if sayi > 5:
3print("Küçük sayı")

❌ Hata:

10 büyük ama “Küçük sayı” yazıyor

✔️ Doğrusu:

1if sayi > 5:
2print("Büyük sayı")

🔴 PHP Logical Error

1<?php
2$not = 90;
3if ($not < 50) {
4echo "Geçti";
5} else {
6echo "Kaldı";
7}
8?>

❌ Hata:

Mantık ters

🔴 ASP Logical Error

1<%
2puan = 80
3If puan < 50 Then
4Response.Write "Başarılı"
5Else
6Response.Write "Başarısız"
7End If
8%>

❌ Hata:

Şart yanlış

🧠 Logical Error Özet

✔ Program çalışır
✔ Hata vermez
✔ Yanlış sonuç üretir
✔ Debug ile bulunur
Hata Türlerinin Kısa Karşılaştırması

1| Hata Türü | Kod Çalışır mı | Hata Mesajı | Bulması |
2| --------- | -------------- | ----------- | ------- |
3| Syntax | ❌ Hayır | ✔️ Var | Kolay |
4| Runtime | ⚠️ Yarıda | ✔️ Var | Orta |
5| Logical | ✔️ Evet | ❌ Yok | Zor |

🎯 Yeni Başlayanlar İçin Altın Tavsiyeler
✔ Hata mesajlarını korkmadan oku
✔ Syntax hatası → yazıma bak
✔ Runtime hatası → veri kontrolü yap
✔ Logical hata → algoritmanı sorgula
✔ “Hatasız yazılımcı” diye bir şey yok 😄




konu hakkında tepkinizi verebilirsiniz