Add also the examples in core help pages in the russian help page (port of modificati...
[scilab.git] / scilab / modules / core / help / ru_RU / error_handling / errcatch.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="errcatch">
3     <refnamediv>
4         <refname>errcatch</refname>
5         <refpurpose>перехват ошибок</refpurpose>
6     </refnamediv>
7     <refsynopsisdiv>
8         <title>Последовательность вызова</title>
9         <synopsis>
10             errcatch(n [,'action'] [,'option'])
11             errcatch()
12         </synopsis>
13     </refsynopsisdiv>
14     <refsection>
15         <title>Аргументы</title>
16         <variablelist>
17             <varlistentry>
18                 <term>n</term>
19                 <listitem>
20                     <para>целое число</para>
21                 </listitem>
22             </varlistentry>
23             <varlistentry>
24                 <term>action, option</term>
25                 <listitem>
26                     <para>строковые значения</para>
27                 </listitem>
28             </varlistentry>
29         </variablelist>
30     </refsection>
31     <refsection>
32         <title>Описание</title>
33         <para>
34             <function>errcatch</function> указывает действие <literal>"action"</literal>
35             (реакцию на ошибку), которое будет выполнено в случае возникновения ошибки типа  
36             <varname>n</varname>.      
37         </para>
38         <para>
39             <varname>n</varname> имеет следующие значения:
40         </para>
41         <para>
42             если <varname>n</varname><literal>&gt;0</literal>, то <varname>n</varname> является номером ошибки, которую
43             требуется перехватить;
44         </para>
45         <para>
46             если <varname>n</varname><literal>&lt;0</literal>, то будут перехватываться все ошибки.
47         </para>
48         <para>
49             <varname>action</varname> может быть одной из следующих символьных строк:
50         </para>
51         <variablelist>
52             <varlistentry>
53                 <term>"pause"</term>
54                 <listitem>
55                     <para>
56                         пауза, выполняемая во время перехвата ошибки. Эта опция полезна в целях отладки. Используйте <code>whereami()</code> для получения информации о текущем контексте.
57                     </para>
58                 </listitem>
59             </varlistentry>
60             <varlistentry>
61                 <term>"continue"</term>
62                 <listitem>
63                     <para>
64                         будет выполняться следующая инструкция в функции либо будут исполнены исполняемые 
65                         файлы, текущие  инструкции будут игнорироваться. Можно проверить произошла ли ошибка с 
66                         помощью функции <link linkend="iserror">iserror</link>. Не забудьте очистить ошибку с 
67                         помощью функции <link linkend="errclear">errclear</link> как можно скорее. Эта опция 
68                         полезна для обнаружения ошибок. Во многих случаях использование  
69                         <literal>errcatch(n,"continue",..)</literal> может быть заменено использованием 
70                         функции <link linkend="execstr">execstr</link> или структуры управления 
71                         <link linkend="try">try</link>.
72                     </para>
73                 </listitem>
74             </varlistentry>
75             <varlistentry>
76                 <term>"kill"</term>
77                 <listitem>
78                     <para>
79                         режим по умолчанию; все промежуточные функции уничтожаются, Scilab возвращается на уровень 0 командной строки.
80                     </para>
81                 </listitem>
82             </varlistentry>
83             <varlistentry>
84                 <term>"stop"</term>
85                 <listitem>
86                     <para>
87                         прерывает текущую сессию Scilab (полезна, когда Scilab вызван из внешней программы).
88                     </para>
89                 </listitem>
90             </varlistentry>
91         </variablelist>
92         <para>
93             <varname>option</varname> символьная строка <literal>'nomessage'</literal> для уничтожения
94             сообщения об ошибке.
95         </para>
96         <para>
97             Для возврата в режим по умолчанию введите  <code>errcatch(-1,"kill")</code> или, аналогичное, <code>errcatch(-1)</code>. <code>errcatch()</code> является устаревшим эквивалентом для <code>errcatch(-1)</code>.
98         </para>
99         <para>
100             Действия <function>errcatch</function> применимы в контексте текущего выполнения
101             (<literal>function</literal>, <literal>exec</literal>, <literal>pause</literal>) и всех 
102             подуровней. Второй вызов <function>errcatch</function> на подуровнях скрывает исходный вызов
103             для этого подуровня. Если второй вызов <function>errcatch</function> сделан на том же самом
104             уровне, то действие первого вызова удаляется.
105         </para>
106         <para>
107             При вызове в контексте функции Scilab или <function>exec</function>
108             <function>errcatch</function> автоматически сбрасывается при выходе из функции.
109         </para>
110     </refsection>
111     <refsection>
112         <title>Примеры</title>
113         <programlisting role="example"><![CDATA[
114 errcatch(144,"continue")
115 2/"foo"
116 disp(a) // Без перехвата ошибки эта строка не будет выполнена
117
118 errcatch(-1,"kill") // Возвращение обратно в нормальный режим
119 errcatch(144,"pause")
120 2/"foo" // Вход в режим "пауза"
121
122 errcatch(27,'continue','nomessage')
123 b=2/0 // Сообщения об ошибке нет, но b не будет существовать
124  ]]></programlisting>
125     <refsection role="see also">
126         <title>Смотрите также</title>
127         <simplelist type="inline">
128             <member>
129                 <link linkend="try">try</link>
130             </member>
131             <member>
132                 <link linkend="errclear">errclear</link>
133             </member>
134             <member>
135                 <link linkend="iserror">iserror</link>
136             </member>
137             <member>
138                 <link linkend="whereami">whereami</link>
139             </member>
140             <member>
141                 <link linkend="execstr">execstr</link>
142             </member>
143             <member>
144                 <link linkend="exec">exec</link>
145             </member>
146         </simplelist>
147     </refsection>
148 </refentry>