CodeBlanks Logo Icon CodeBlanks

Hata durumlarını yönetme

PHP kursu · Başlangıç · Ders 22/116

Sıfıra bölme ve geçersiz operatör için korumayı eklersin.

Hata durumları

Hesap makinesi her zaman doğru girdi almayabilir. İki önemli hata durumu vardır:

  • Sıfıra bölme: bölen 0 ise sonuç tanımsızdır.
  • Geçersiz operatör: kullanıcı +, -, *, / dışında bir değer girerse işlem yapılamaz.

Bu durumları yakalamak için else dalı kullanırız. Hiçbir if/elseif koşulu eşleşmezse else bloğu çalışır ve kullanıcıya hata mesajı gösterilir.

else dalı ile yakalama

else dalı if/elseif zincirinin sonuna eklenir ve hiçbir koşul eşleşmezse çalışır. Bu, bilinmeyen operatörleri yakalamanın en temiz yoludur.

} else {
  $result = "Hata: geçersiz işlem";
}

Böylece kullanıcı % gibi bir operatör girerse program çökmez; yerine açık bir hata mesajı gösterir. Hata mesajları kullanıcıyı hatası konusunda bilgilendirir.

Uygulama Geçersiz operatör için else dalı ekle

Geçersiz operatörleri yakalamak için else dalı ekle. else bloğunda $result değişkenine "Hata: geçersiz işlem" mesajını ata. Böylece bilinmeyen operatörler hata mesajı gösterir.

Örnek çözümü göster
if/elseif zincirinin sonuna else dalı ekle.
Örnek çözüm:
<?php
// Kullanıcının girdiği ilk sayı
$first = 25;
// Seçilen işlem ve ikinci sayı
$operator = "+";
$second = 4;

$result = 0;

if ($operator === "+") {
    $result = $first + $second;
} elseif ($operator === "-") {
    $result = $first - $second;
} elseif ($operator === "*") {
    $result = $first * $second;
} elseif ($operator === "/") {
    $result = $first / $second;
} else {
    $result = "Hata: geçersiz işlem";
}

echo "Sonuç: " . $result;

Kendini test et

  1. Geçersiz bir operatör girilirse ne yapmalı?

    • Sonucu 0 yapmak
    • İşlemi atlamak
    • Programı durdurmak
    • Hata mesajı göstermek
    Cevabı göster

    Hata mesajı göstermek — Geçersiz operatörde else dalı hata mesajı atar.

  2. else dalında hata mesajı ata

    <?php
    if ($operator === "+") {
      $result = $first + $second;
    } else {
      $result = ____;
    }
    echo $result;
    ?>
    Cevabı göster
    <?php
    if ($operator === "+") {
      $result = $first + $second;
    } else {
      $result = "Hata: geçersiz işlem";
    }
    echo $result;
    ?>
  3. Hata durumunu nedeniyle eşleştir

    Sıfıra bölme
    Bölen 0 olamaz
    Geçersiz işlem
    Operatör tanınmaz
    Boş değer
    Değişken boş

Başlangıç bölümündeki tüm dersler