Difference between revisions of "Try/ru"

From Lazarus wiki
Jump to navigationJump to search
m (Fixed syntax highlighting)
 
Line 4: Line 4:
  
 
Если [[exception/ru|исключение]] происходит во время выполнения кода между '''try''' и '''finally''', выполнение продолжается за '''finally'''. Если исключение происходит в коде между '''finally''' и '''end''', то выполнение также продолжится до '''end'''.
 
Если [[exception/ru|исключение]] происходит во время выполнения кода между '''try''' и '''finally''', выполнение продолжается за '''finally'''. Если исключение происходит в коде между '''finally''' и '''end''', то выполнение также продолжится до '''end'''.
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
try
 
try
 
   // код, который может сгенерировать исключение
 
   // код, который может сгенерировать исключение
Line 13: Line 13:
  
 
Всякий раз, когда происходит [[Exception/ru|исключение]], код между '''except''' и '''end''' будет выполнен.
 
Всякий раз, когда происходит [[Exception/ru|исключение]], код между '''except''' и '''end''' будет выполнен.
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
try
 
try
 
   // код, который может сгенерировать исключение
 
   // код, который может сгенерировать исключение

Latest revision as of 01:10, 2 March 2020

Deutsch (de) English (en) español (es) suomi (fi) русский (ru)

try является частью либо блока try..finally, либо блока try..except.

Если исключение происходит во время выполнения кода между try и finally, выполнение продолжается за finally. Если исключение происходит в коде между finally и end, то выполнение также продолжится до end.

try
  // код, который может сгенерировать исключение
finally 
  // всегда будет выполняться в качестве завершающих операторов
end;

Всякий раз, когда происходит исключение, код между except и end будет выполнен.

try
  // код, который может сгенерировать исключение
except
  // будет выполнен только в том случае, если произойдет исключение
  on E: EDatabaseError do
    ShowMessage( 'Database error: '+ E.ClassName + #13#10 + E.Message );
  on E: Exception do
    ShowMessage( 'Error: '+ E.ClassName + #13#10 + E.Message );
end;

См. также