Sign in Join
Wiki copytemporary

Try/ru: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Try/ru

OldNewLine
1+**try** является частью либо блока try..[[Finally/ru|finally]], либо блока try..[[Except/ru|except]].
2+
3+Если [[exception/ru|исключение]] происходит во время выполнения кода между **try** и **finally**, выполнение продолжается за **finally**. Если исключение происходит в коде между **finally** и **end**, то выполнение также продолжится до **end**.
4+
5+``` pascal
6+try
7+ // код, который может сгенерировать исключение
8+finally
9+ // всегда будет выполняться в качестве завершающих операторов
10+end;
11+```
12+
13+Всякий раз, когда происходит [[Exception/ru|исключение]], код между **except** и **end** будет выполнен.
14+
15+``` pascal
16+try
17+ // код, который может сгенерировать исключение
18+except
19+ // будет выполнен только в том случае, если произойдет исключение
20+ on E: EDatabaseError do
21+ ShowMessage( 'Database error: '+ E.ClassName + #13#10 + E.Message );
22+ on E: Exception do
23+ ShowMessage( 'Error: '+ E.ClassName + #13#10 + E.Message );
24+end;
25+```
26+
27+## См. также
28+
29+- [[Raise/ru|raise]]
30+- [[Exception handling/ru|Обработка исключений]]
31+
32+---
33+*From the Free Pascal wiki, page "Try/ru", as it stood on 2020-03-01 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history