Files
php-doc-ru/language/predefined/errorexception.xml
2024-06-14 17:02:33 +01:00

149 lines
5.1 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: e6376e04ed2526138e5b71e16168cf6bb269fa8a 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
function exception_error_handler(int $errno, string $errstr, string $errfile = null, int $errline) {
if (!(error_reporting() & $errno)) {
// Этот код ошибки не включён в директиве error_reporting
return;
}
throw new \ErrorException($errstr, 0, $errno, $errfile, $errline);
}
set_error_handler(exception_error_handler(...));
// До PHP 8.1.0 и введения синтаксиса callback-функции как объекта первого класса вместо этого вызывают:
// set_error_handler(__NAMESPACE__ . "\\exception_error_handler");
/* Вызываем исключение */
strpos();
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Fatal error: Uncaught exception 'ErrorException' with message 'strpos() expects at least 2 parameters, 0 given' in /home/bjori/tmp/ex.php:12
Stack trace:
#0 [internal function]: exception_error_handler(2, 'strpos() expect...', '/home/bjori/php...', 12, Array)
#1 /home/bjori/php/cleandocs/test.php(12): strpos()
#2 {main}
thrown in /home/bjori/tmp/ex.php on line 12
]]>
</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
-->