delphi - 在另一个线程中引发异常

标签 delphi exception thread-safety

如何在 Delphi 的另一个线程中引发异常? 我有线程 1 和线程 2,我想在线程 1 中引发异常并在线程 2 中捕获它。

编辑

现在我发现我最初的解释令人困惑。我想要做的是从线程 1 开始在线程 2 中引发异常。因此,在线程 2 中引发并捕获异常,但此过程是由线程 1 控制的。 假设我有一个创建工作线程的主线程。我需要一种机制来优雅地从主线程停止工作线程,但由于某些与此处无关的原因,我无法使用 TThread.Terminate/Termulated 模式。所以我想,如果我可以启动(注入(inject)?)从主线程在工作线程中引发异常,那么它可以用作停止信号。

最佳答案

您可以从 Rob 的回答中获得启发 Delphi thread exception mechanismfrom this Embarcadero article .

关于delphi - 在另一个线程中引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5871117/

相关文章:

delphi - FireDac FDQuery 在浏览结果时提交更改的数据字段

delphi - 如何获取控制面板项目列表然后执行其中一个?

delphi - Memo1.Loadfromfile()空间

c# - Try/Catch 没有捕捉到

c++ - 我如何(安全地)中断单独线程上的计算?

delphi - 具有隐藏节点的 VirtualStringTree 行的颜色

在 JPanel 中实现 Runnable 时出现 java.lang.StackOverflowError - Java Swing

swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

java.text.SimpleDateFormat 不是线程安全的

java - Guava 中 EnumMap 和 ConcurrentHashMap 的组合?