delphi - 如何替换除 block 之外的空?

标签 delphi exception exception-handling try-except

浏览一些遗留代码,我遇到了一些“空”除了 block 。它们都是出于类似的原因实现的,即处理从 TEdit 中的文本到数值的转换。由于 TEdit 可能为空,因此在这种情况下应该没有错误消息:

procedure TmyForm.EditExit(Sender: TObject);
begin
  ...  
  try
    _value := StrToFloat(Edit.Text);
  except
  end; 
  ...
end;

这很好,但我想这不是一个很好的做法。有没有更好的方法来获得相同的行为?

最佳答案

您应该使用 TryStrToFloat :

if TryStrToFloat(Edit1.Text, _value) then
  // do something with _value

这是一个返回 bool 值的函数,表示转换成功。转换后的值在成功时在 out 参数中返回。

关于delphi - 如何替换除 block 之外的空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41638151/

相关文章:

delphi - VirtualTreeview:何时对子项进行排序?

java - 何时捕获异常(高级别与低级别)?

delphi - 在 Delphi 中使用 XSLT 2.0 需要什么

delphi - 如何构造一个具有很多属性的对象?

java - 如何在同一页面上显示 Controller 的异常?

c# - 'throw' 或 'try...catch' 会影响性能吗?

java - 在 catch block 中使用通用异常是否有任何负面影响

python - 将重试封装到 `with` block 中

c# - 通过 try 中的 lock 锁定资源。这是错的吗?

delphi - TListView:如果添加列,VCL 会丢失列的顺序