Перейти к содержимому

error_get_last()

PHP — это популярный серверный язык программирования, используемый для создания динамических веб-сайтов и веб-приложений. Обработка ошибок является важной частью программирования на PHP, поскольку ошибки могут возникать во время выполнения кода. Функция error_get_last() — одна из встроенных функций PHP, которая поможет вам обрабатывать ошибки в вашем коде.

Понимание функции error_get_last()

Функция error_get_last() используется для получения последней ошибки, возникшей в вашем коде PHP. Она возвращает ассоциативный массив, содержащий четыре элемента: "type" (тип), "message" (сообщение), "file" (файл) и "line" (строка).

Элемент "type" — это целое число, представляющее тип возникшей ошибки. В PHP существуют различные типы ошибок, такие как E_ERROR, E_WARNING, E_NOTICE и т. д. Элемент "message" содержит строку с описанием сообщения об ошибке. Элемент "file" представляет имя файла, в котором произошла ошибка, а элемент "line" — номер строки, в которой она возникла.

Чтобы использовать функцию error_get_last(), её необходимо вызывать после выполнения кода. Если во время выполнения кода ошибок не возникло, функция вернёт null.

Примечание: error_get_last() захватывает только зарегистрированные ошибки и предупреждения. Она не перехватывает исключения, выбрасываемые через блоки try/catch. Кроме того, убедитесь, что включён error_reporting(E_ALL), поскольку функция работает только с ошибками, которые фактически передаются в PHP.

Примеры использования функции error_get_last()

Рассмотрим несколько примеров использования функции error_get_last().

php
<?php
// Example 1: Division by zero
function divide_numbers($a, $b) {
  return $a / $b;
}

$result = divide_numbers(10, 0);
$error = error_get_last();
if ($error) {
  echo "Error: " . $error['message'];
}
?>

В приведённом выше примере мы определяем функцию divide_numbers, которая принимает два аргумента и возвращает результат деления первого аргумента на второй. Когда второй аргумент равен 0, PHP по умолчанию генерирует предупреждение о делении на ноль. Затем мы вызываем error_get_last() для получения последней возникшей ошибки и выводим сообщение об ошибке.

php
<?php
// Example 2: File not found
function open_file($filename)
{
    $handle = fopen($filename, "r");
    if (!$handle) {
        return false;
    }
    return true;
}

$result = open_file("nonexistent_file.txt");
if (!$result) {
    $error = error_get_last();
    echo "Error: " . $error['message'];
}
?>

В приведённом выше примере мы определяем функцию open_file, которая принимает аргумент с именем файла и пытается открыть его в режиме чтения. Если файл не существует, функция возвращает false. После вызова функции мы проверяем, равен ли результат false. Если да, мы вызываем error_get_last() для получения последней возникшей ошибки и выводим сообщение об ошибке.

Заключение

В этой статье мы рассмотрели функцию error_get_last() в PHP и привели примеры её использования для обработки ошибок в вашем коде. Используя функцию error_get_last(), вы можете получить последнюю возникшую в коде ошибку и соответствующим образом обработать её. Надеемся, эта статья поможет вам в программировании на PHP.

Практика

Что делает функция error_get_last() в PHP?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.