64 lines
651 B
ObjectPascal
64 lines
651 B
ObjectPascal
var i: integer;
|
|
|
|
procedure test;
|
|
begin
|
|
try
|
|
raise new Exception;
|
|
finally
|
|
i := 1;
|
|
end;
|
|
end;
|
|
|
|
procedure test2;
|
|
begin
|
|
try
|
|
|
|
finally
|
|
i := 3;
|
|
end;
|
|
end;
|
|
|
|
procedure test3;
|
|
begin
|
|
try
|
|
while true do
|
|
try
|
|
raise new Exception;
|
|
finally
|
|
i := 4;
|
|
end;
|
|
except
|
|
end;
|
|
end;
|
|
|
|
procedure test4;
|
|
begin
|
|
try
|
|
raise new Exception
|
|
finally
|
|
try
|
|
raise new System.NotSupportedException;
|
|
except
|
|
i := 5;
|
|
end;
|
|
end;
|
|
i := 6;
|
|
end;
|
|
|
|
begin
|
|
try
|
|
test;
|
|
except
|
|
Inc(i);
|
|
end;
|
|
assert(i = 2);
|
|
test2;
|
|
assert(i = 3);
|
|
test3;
|
|
assert(i = 4);
|
|
try
|
|
test4;
|
|
except
|
|
end;
|
|
assert(i = 5);
|
|
end. |