Kazi ya catch

Kazi catch ni sehemu ya kizuizi cha try-catch na inatumika kukamata isipokuwa ambazo zinaweza kutupwa katika kizuizi cha try. Isipokuwa litokee, utekelezaji wa msimbo hubadilika kwenda kwenye kizuizi kinachofaa cha catch, ambapo unaweza kuchakata hitilafu.

Sintaksia

phptry {
  // Msimbo ambao unaweza kutupa isipokuwa
} catch (ExceptionType $e) {
  // Uchakataji wa isipokuwa
}

Mfano

Mfano rahisi wa uchakataji wa isipokuwa:

php<?php
  try {
    throw new Exception('Kuna kitu kilikwenda sawa');
  } catch (Exception $e) {
    echo 'Isipokuwa limekamatiwa: ' . $e->getMessage();
  }
?>

Matokeo ya utekelezaji wa msimbo:

php'Isipokuwa limekamatiwa: Kuna kitu kilikwenda sawa'

Mfano

Uchakataji wa aina tofauti za isipokuwa:

php<?php
  try {
    if (rand(0, 1)) {
      throw new InvalidArgumentException('Hoja batili');
    } else {
      throw new RuntimeException('Hitilafu ya wakati wa utekelezaji');
    }
  } catch (InvalidArgumentException $e) {
    echo 'Hoja batili: ' . $e->getMessage();
  } catch (RuntimeException $e) {
    echo 'Hitilafu ya wakati wa utekelezaji: ' . $e->getMessage();
  } catch (Exception $e) {
    echo 'Isipokuwa jumla: ' . $e->getMessage();
  }
?>

Matokeo yanayowezekana ya utekelezaji wa msimbo:

php'Hoja batili: Hoja batili'
au
'Hitilafu ya wakati wa utekelezaji: Hitilafu ya wakati wa utekelezaji'

Angalia pia

  • muundo try,
    ambao hufafanua kizuizi cha msimbo wa uchakataji wa isipokuwa
  • muundo throw,
    ambao hutupa isipokuwa
  • darasa Exception,
    ambalo ni darasa la msingi kwa isipokuwa zote