<?php
function mojaFunkcja(int $x, int $y) : float 
{
    // jeśli coś pójdzie nie tak zgłoś wyjątek
    if ($y == 0) {
        throw new Exception('4. Nie wolno dzielić przez zero!');
    }

    print "2. Funkcja zwraca wynik dzielenia.".PHP_EOL;
    return (float)$x / $y;
}

try {
    // monitorowana część kodu
    print "1. Wywołuję funkcje z parametrami.".PHP_EOL;
    mojaFunkcja(x: 5, y: 20);
    mojaFunkcja(x: 5, y: 0); // spróbujmy podzielić przez zero
} catch (\Exception $e) {
    // obsługa wyjątku np. kiedy wystąpił jakiś problem
    print "3. Funkcja zgłosiła wyjątek i przerwała swoje działanie.".PHP_EOL;
    print $e->getMessage().PHP_EOL;
} finally {
    // wykonaj kod po bloku try{..} catch{..}
    print "5. Ten kod wykona się zawsze po try-catch.".PHP_EOL;
}