A catch függvény

A catch függvény a try-catch blokk része, és arra szolgál, hogy elkapja a try blokkban dobott kivételeket. Kivétel előfordulásakor a végrehajtás a megfelelő catch blokkba ugrik, ahol a hibát kezelni lehet.

Szintaxis

phptry {
  // Kód, amely kivételt dobhat
} catch (ExceptionType $e) {
  // A kivétel kezelése
}

Példa

Egy egyszerű példa kivétel kezelésére:

php<?php
  try {
    throw new Exception('Something went wrong');
  } catch (Exception $e) {
    echo 'Caught exception: ' . $e->getMessage();
  }
?>

A kód végrehajtásának eredménye:

php'Caught exception: Something went wrong'

Példa

Különböző típusú kivételek kezelése:

php<?php
  try {
    if (rand(0, 1)) {
      throw new InvalidArgumentException('Invalid argument');
    } else {
      throw new RuntimeException('Runtime error');
    }
  } catch (InvalidArgumentException $e) {
    echo 'Invalid argument: ' . $e->getMessage();
  } catch (RuntimeException $e) {
    echo 'Runtime error: ' . $e->getMessage();
  } catch (Exception $e) {
    echo 'Generic exception: ' . $e->getMessage();
  }
?>

A kód végrehajtásának lehetséges eredményei:

php'Invalid argument: Invalid argument'
vagy
'Runtime error: Runtime error'

Lásd még

  • a try konstrukciót,
    amely meghatározza a kivételek kezelésére szolgáló kódblokkot
  • a throw konstrukciót,
    amely kivételt dob
  • a Exception osztályt,
    amely az összes kivétel alaposztálya