Funkcija catch

Funkcija catch je del bloka try-catch in služi za prestrezanje izjem, ki so lahko vržene v bloku try. Ob pojavu izjeme se izvajanje koda prenese v ustrezen blok catch, kjer je možno obdelati napako.

Sintaksa

phptry {
  // Koda, ki lahko vrže izjemo
} catch (ExceptionType $e) {
  // Obdelava izjeme
}

Primer

Najenostavnejši primer obdelave izjeme:

php<?php
  try {
    throw new Exception('Nekaj je šlo narobe');
  } catch (Exception $e) {
    echo 'Ujeta izjema: ' . $e->getMessage();
  }
?>

Rezultat izvajanja koda:

php'Ujeta izjema: Nekaj je šlo narobe'

Primer

Obdelava različnih tipov izjem:

php<?php
  try {
    if (rand(0, 1)) {
      throw new InvalidArgumentException('Neveljaven argument');
    } else {
      throw new RuntimeException('Napaka pri izvajanju');
    }
  } catch (InvalidArgumentException $e) {
    echo 'Neveljaven argument: ' . $e->getMessage();
  } catch (RuntimeException $e) {
    echo 'Napaka pri izvajanju: ' . $e->getMessage();
  } catch (Exception $e) {
    echo 'Splošna izjema: ' . $e->getMessage();
  }
?>

Možni rezultati izvajanja koda:

php'Neveljaven argument: Neveljaven argument'
ali
'Napaka pri izvajanju: Napaka pri izvajanju'

Glejte tudi

  • konstrukcijo try,
    ki določa blok koda za obdelavo izjem
  • konstrukcijo throw,
    ki vrže izjemo
  • razred Exception,
    ki je osnovni razred za vse izjeme