Funcția catch

Funcția catch face parte din blocul try-catch și servește la interceptarea excepțiilor care pot fi aruncate în blocul try. La apariția unei excepții, execuția codului trece în blocul catch corespunzător, unde se poate gestiona eroarea.

Sintaxă

phptry {
  // Cod care poate arunca o excepție
} catch (ExceptionType $e) {
  // Gestionarea excepției
}

Exemplu

Un exemplu simplu de gestionare a unei excepții:

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

Rezultatul executării codului:

php'Caught exception: Something went wrong'

Exemplu

Gestionarea diferitelor tipuri de excepții:

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();
  }
?>

Rezultate posibile ale executării codului:

php'Invalid argument: Invalid argument'
sau
'Runtime error: Runtime error'

Vezi și

  • constructia try,
    care definește un bloc de cod pentru gestionarea excepțiilor
  • constructia throw,
    care aruncă o excepție
  • clasa Exception,
    care este clasa de bază pentru toate excepțiile