diff --git a/reference/errorfunc/functions/restore-exception-handler.xml b/reference/errorfunc/functions/restore-exception-handler.xml
index dbc1461ffc..b6997271f5 100644
--- a/reference/errorfunc/functions/restore-exception-handler.xml
+++ b/reference/errorfunc/functions/restore-exception-handler.xml
@@ -1,5 +1,5 @@
-
+
@@ -21,6 +21,29 @@
которым станет или пользовательская функция обработки исключений, если такую определили,
или встроенный обработчик.
+
+
+ Пока обработчик исключений выполняется, ни один обработчик исключений
+ не активен: начиная с PHP 8.3.0 движок снимает обработчик перед вызовом,
+ чтобы исключение, которое выбросил сам обработчик, не передавалось ему же.
+
+
+ Начиная с PHP 8.3.5 движок вдобавок помещает обработчик, который собирается
+ вызвать, в стек обработчиков. Поэтому вызов функции
+ restore_exception_handler изнутри обработчика исключений
+ снимает со стека эту запись и переустанавливает обработчик, который сейчас
+ выполняется; чтобы установить обработчик, который действовал до него,
+ требуется второй вызов.
+
+
+ Выполняющийся обработчик переустанавливается автоматически, когда он
+ возвращает управление, но только если в этот момент ни один обработчик
+ исключений не активен: обработчик, который вызвал функцию
+ set_exception_handler или
+ restore_exception_handler, дальше сам отвечает
+ за стек обработчиков.
+
+
@@ -35,6 +58,41 @@
+
+ &reftitle.changelog;
+
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.3.5
+
+ Обработчик исключений, который вызывают, теперь помещается в стек
+ обработчиков, поэтому вызов функции
+ restore_exception_handler изнутри обработчика
+ исключений переустанавливает обработчик, который сейчас выполняется;
+ чтобы восстановить обработчик, который действовал до него, теперь
+ требуется два вызова.
+
+
+
+ 8.3.0
+
+ Активный обработчик исключений теперь снимается на время его работы.
+
+
+
+
+
+
+
+
&reftitle.examples;
@@ -78,15 +136,13 @@ throw new Exception('Эта инструкция запустит первый
&reftitle.seealso;
-
-
- set_exception_handler
- get_exception_handler
- set_error_handler
- restore_error_handler
- error_reporting
-
-
+
+ set_exception_handler
+ get_exception_handler
+ set_error_handler
+ restore_error_handler
+ error_reporting
+
+
@@ -20,6 +20,35 @@
для перехвата исключений, которые не отловили в блоке try-catch. Выполнение скрипта остановится
после вызова callback-функции.
+
+
+
+ Пока обработчик исключений выполняется, ни один обработчик исключений
+ не активен: начиная с PHP 8.3.0 движок снимает обработчик перед вызовом,
+ чтобы исключение, которое выбросил сам обработчик, не передавалось ему же.
+ Поэтому вызванная изнутри обработчика функция
+ set_exception_handler сообщает, что ранее определённого
+ обработчика нет.
+
+
+ Начиная с PHP 8.3.5 движок вдобавок помещает обработчик, который собирается
+ вызвать, в стек обработчиков, поэтому вызванная изнутри обработчика функция
+ restore_exception_handler переустанавливает обработчик,
+ который сейчас выполняется, а не тот, который действовал до него.
+
+
+ Выполняющийся обработчик переустанавливается автоматически, когда он
+ возвращает управление, но только если в этот момент ни один обработчик
+ исключений не активен. Как только обработчик вызвал функцию
+ set_exception_handler или
+ restore_exception_handler, автоматическое
+ восстановление пропускается, и активным остаётся тот обработчик,
+ который оставил сам обработчик.
+
+
+ Поэтому менять обработчик исключений изнутри него самого не рекомендуют.
+
+
@@ -62,6 +91,41 @@
+
+ &reftitle.changelog;
+
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.3.5
+
+ Обработчик исключений, который вызывают, теперь помещается в стек
+ обработчиков и переустанавливается, когда он возвращает управление,
+ если только обработчик сам не изменил стек.
+
+
+
+ 8.3.0
+
+ Активный обработчик исключений теперь снимается на время его работы,
+ поэтому вызванная изнутри обработчика функция
+ set_exception_handler сообщает, что ранее
+ определённого обработчика нет.
+
+
+
+
+
+
+
+
&reftitle.examples;
@@ -92,15 +156,13 @@ echo "Не выполняется\n";
&reftitle.seealso;
-
-
- get_exception_handler
- restore_exception_handler
- restore_error_handler
- error_reporting
- Исключения
-
-
+
+ get_exception_handler
+ restore_exception_handler
+ restore_error_handler
+ error_reporting
+ Исключения
+