【发布时间】:2009-01-15 18:26:55
【问题描述】:
我有一个应用程序,它允许用户使用我们自己制作的语言编写自己的代码,这种语言有点像 C++。然而,我们遇到了一些问题,有时我们的用户会不小心将无限循环写入他们的脚本。一旦脚本进入无限循环,他们唯一能摆脱的方法就是关闭应用程序并重新启动,这可能会丢失他们的工作。我想添加一些方法,当用户意识到他的代码处于无限循环中时,可以点击一个特殊的键,比如 F10 或其他什么,代码就会跳出循环。但我想在脚本运行时不实施大量检查的情况下做到这一点。最理想的情况是,我希望有一个单独的“调试器”线程,该线程主要是空闲的,但作为它的任务之一,它侦听 F10 键,当它获得 F10 键时,它将导致脚本运行时线程抛出异常,以便它停止执行脚本。所以我的问题是,有没有办法让一个线程导致另一个线程抛出异常?我的应用程序是用 C++ 编写的。
【问题讨论】: