1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-26 16:52:12 +01:00
Files
archived-doc-ru/language/predefined/errorexception.xml
2024-07-09 23:59:12 +03:00

153 lines
5.3 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: ced371fcb7a105f06a6a75672fbcd448271a3e3f Maintainer: shein Status: ready -->
<!-- Reviewed: no -->
<reference xml:id="class.errorexception" role="exception" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Исключение ErrorException</title>
<titleabbrev>ErrorException</titleabbrev>
<partintro>
<!-- {{{ ErrorException intro -->
<section xml:id="errorexception.intro">
&reftitle.intro;
<para>
Исключение выбрасывается, если возникла ошибка.
</para>
</section>
<!-- }}} -->
<section xml:id="errorexception.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis class="class">
<ooexception>
<exceptionname>ErrorException</exceptionname>
</ooexception>
<ooclass>
<modifier>extends</modifier>
<classname>Exception</classname>
</ooclass>
<classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>
<fieldsynopsis>
<modifier>protected</modifier>
<type>int</type>
<varname linkend="errorexception.props.severity">severity</varname>
<initializer>E_ERROR</initializer>
</fieldsynopsis>
<classsynopsisinfo role="comment">&InheritedProperties;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.exception')/db:partintro/db:section/db:classsynopsis/db:fieldsynopsis[preceding-sibling::db:classsynopsisinfo[1][@role='comment' and text()='&Properties;']]))">
<xi:fallback/>
</xi:include>
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.errorexception')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[@role='ErrorException'])">
<xi:fallback/>
</xi:include>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.errorexception')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='ErrorException'])">
<xi:fallback/>
</xi:include>
<classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.exception')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='Exception'])">
<xi:fallback/>
</xi:include>
</classsynopsis>
<!-- }}} -->
</section>
<!-- {{{ ErrorException properties -->
<section xml:id="errorexception.props">
&reftitle.properties;
<variablelist>
<varlistentry xml:id="errorexception.props.severity">
<term><varname>severity</varname></term>
<listitem>
<para>
Серьёзность исключения.
</para>
</listitem>
</varlistentry>
</variablelist>
</section>
<!-- }}} -->
<!-- {{{ Example -->
<section xml:id="errorexception.examples">
&reftitle.examples;
<para>
<example xml:id="errorexception.example.error-handler"><!-- {{{ -->
<title>
Пример использования функции <function>set_error_handler</function> для изменения сообщений об ошибках на исключение ErrorException
</title>
<programlisting role="php">
<![CDATA[
<?php
set_error_handler(function (int $errno, string $errstr, string $errfile, int $errline) {
if (!(error_reporting() & $errno)) {
// Этот код ошибки не включён в директиве error_reporting
return;
}
if ($errno === E_DEPRECATED || $errno === E_USER_DEPRECATED) {
// Не выбрасывать исключение для предупреждений об устаревании, поскольку новые или неожиданные
// предупреждения об устаревании могут сломать приложение
return;
}
throw new \ErrorException($errstr, 0, $errno, $errfile, $errline);
});
// Десериализация повреждённых данных вызовет предупреждение, которое обработчик ошибок
// преобразует в исключение ErrorException
unserialize('broken data');
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Fatal error: Uncaught ErrorException: unserialize(): Error at offset 0 of 11 bytes in test.php:16
Stack trace:
#0 [internal function]: {closure}(2, 'unserialize(): ...', 'test.php', 16)
#1 test.php(16): unserialize('broken data')
#2 {main}
thrown in test.php on line 16
]]>
</screen>
</example><!-- }}} -->
</para>
</section>
</partintro>
&language.predefined.errorexception.construct;
&language.predefined.errorexception.getseverity;
</reference>
<!-- 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
-->