56 lines
2.2 KiB
HTML
56 lines
2.2 KiB
HTML
<html>
|
|
|
|
<head>
|
|
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
|
<param name="Keyword" value="try">
|
|
<param name="Keyword" value="finally">
|
|
</object>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
|
<title></title>
|
|
<link rel="StyleSheet" href="../../default.css">
|
|
</head>
|
|
|
|
<body>
|
|
<H1>Оператор try
|
|
... finally</H1>
|
|
<p>Оператор <code><b>try</b></code> ... <code><b>finally</b></code> имеет вид:</p>
|
|
<blockquote>
|
|
<p><code><b>try</b></code><code><b><br>
|
|
</b></code><i>операторы</i><br>
|
|
<code><b>finally</b></code><br>
|
|
<code><b> </b></code><i>операторы</i><br>
|
|
<code><b>end</b>; </code></p>
|
|
</blockquote>
|
|
<p>Операторы в блоке <b><code>finally</code></b>
|
|
выполняются безотносительно к тому, возникло или нет исключение
|
|
в блоке <b><code>try</code></b>. При этом само исключение
|
|
не обрабатывается.</p>
|
|
<p>Блок <b><code>finally</code></b>
|
|
используется для возвращения ранее выделенных ресурсов. </p>
|
|
<p><b>Пример 1.</b> Закрытие открытого файла.</p>
|
|
<blockquote>
|
|
<p><code>reset(f);<b><br>
|
|
try</b></code><code><b><br>
|
|
</b>...</code><br>
|
|
<code><b>finally</b></code><br>
|
|
<code> close(f);<b> </b></code>
|
|
<br>
|
|
<code><b>end</b>; </code></p>
|
|
</blockquote>
|
|
<p>Файл будет закрыт независимо от того, произошло ли ислючение
|
|
в блоке <b><code>try</code></b>.</p>
|
|
<p><b>Пример 2.</b> Возвращение выделенной динамической памяти.</p>
|
|
<blockquote>
|
|
<p><code>New(p);<b><br>
|
|
try<br>
|
|
</b>...</code><br>
|
|
<code><b>finally</b></code><br>
|
|
<code> Dispose(p);</code><br>
|
|
<code><b>end</b>; </code></p>
|
|
</blockquote>
|
|
<p>Динамическая память, контролируемая указателем <code>p</code>,
|
|
будет возвращена независимо от того, произошло ли ислючение в блоке <b>
|
|
<code>try</code></b>.</p>
|
|
</body>
|
|
|
|
</html> |