Delphi中的C#/ Java“Try/Finally/Catch”等效构造

前端之家收集整理的这篇文章主要介绍了Delphi中的C#/ Java“Try/Finally/Catch”等效构造前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Delphi中,你怎么用try,finally,catch?一个Java / C#等效的东西看起来像:
try {
    // Open DB connection,start transaction
} catch (Exception e) {
    // Roll back DB transaction
} finally {
    // Close DB connection,commit transaction
}

如果你在Delphi中尝试这个,你可以使用try / finally或try / except;但从来没有三个在一起。我想要的代码如下(不编译):

try
    // Open DB connection,start transaction
except on e: Exception do
begin
    // Roll back transaction
end
finally // Compiler error: expected "END" not "finally"
begin
    // Commit transaction
end

解决方法

在Delphi中,您可以使用以下模式:
// initialize / allocate resource (create objects etc.)
...
try
  try
    // use resource
    ...
  except
    // handle exception
    ...
  end;
finally
  // free resource / cleanup
  ...
end

猜你在找的Delphi相关文章