typestar

Excepciones en PHP

try, catch, finally y una clase de excepción propia.

<?php
class EmptyCartException extends RuntimeException {}

function checkout(array $items): int {
    if ($items === []) {
        throw new EmptyCartException("nothing to buy");
    }
    return array_sum($items);
}

try {
    echo checkout([5, 8]), "\n";
    echo checkout([]), "\n";
} catch (EmptyCartException $e) {
    echo "refused: ", $e->getMessage(), "\n";
} finally {
    echo "till closed\n";
}

Cómo funciona

  1. Extender RuntimeException nombra una falla con precisión.
  2. throw aborta checkout antes de que pueda sumar un carrito vacío.
  3. catch coincide por clase y liga el error a $e.
  4. finally corre igual con éxito o con falla.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
18
Caracteres a escribir
370
Tokens
86
Ritmo de tres estrellas
80 tpm

Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 64 segundos.

Escribe este fragmento

Paso 2 de 3 en Null y errores; paso 20 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →