1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-25 16:22:18 +01:00
Files
archived-doc-ru/reference/errorfunc/functions/set-exception-handler.xml
2023-03-17 15:04:32 +03:00

123 lines
4.2 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 686b6869e2695d96d0f3a2055cfa629a8b3b1ac7 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.set-exception-handler" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>set_exception_handler</refname>
<refpurpose>
Задаёт пользовательский обработчик исключений
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>callable</type><type>null</type></type><methodname>set_exception_handler</methodname>
<methodparam><type class="union"><type>callable</type><type>null</type></type><parameter>callback</parameter></methodparam>
</methodsynopsis>
<para>
Задаёт обработчик по умолчанию для случаев, когда исключение выброшено
вне блока try/catch. После вызова <parameter>callback</parameter>
выполнение будет остановлено.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>callback</parameter></term>
<listitem>
<para>
Функция, вызываемая при возникновении неперехваченного исключения.
Эта функция-обработчик должна принимать один параметр, которым будет
объект выброшенного исключения <classname>Throwable</classname>.
И <classname>Error</classname> и <classname>Exception</classname>
реализуют интерфейс <classname>Throwable</classname>.
Сигнатура обработчика:
</para>
<para>
<methodsynopsis>
<type>void</type><methodname><replaceable>handler</replaceable></methodname>
<methodparam><type>Throwable</type><parameter>ex</parameter></methodparam>
</methodsynopsis>
</para>
<para>
В качестве этого аргумента можно передать &null;. В этом случае
обработчик вернётся к своему изначальному состоянию.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает ранее определённый обработчик исключений или &null; в случае
ошибки. Если предыдущих обработчиков определено не было, то также
возвращается &null;.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>
Пример использования <function>set_exception_handler</function>
</title>
<programlisting role="php">
<![CDATA[
<?php
function exception_handler(Throwable $exception) {
echo "Неперехваченное исключение: " , $exception->getMessage(), "\n";
}
set_exception_handler('exception_handler');
throw new Exception('Неперехваченное исключение');
echo "Не выполнено\n";
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso"><!-- {{{ -->
&reftitle.seealso;
<para>
<simplelist>
<member><function>restore_exception_handler</function></member>
<member><function>restore_error_handler</function></member>
<member><function>error_reporting</function></member>
<member><link linkend="language.exceptions">Исключения</link></member>
</simplelist>
</para>
</refsect1><!-- }}} -->
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->