【发布时间】:2011-09-28 16:51:00
【问题描述】:
Mathematica 具有CheckAbort 函数,该函数允许捕获和处理用户生成和编程的Aborts。但它不允许捕捉TimeConstrained和MemoryConstrained等函数产生的中断:
TimeConstrained[CheckAbort[Pause[100], Print["From CheckAbort"]], 1]
(不打印"From CheckAbort")。
有没有办法在 Mathematica 中捕获此类中断?
编辑:我知道TimeConstrained 和MemoryConstrained 的第三个参数允许在中断的情况下评估一些代码,但这种方式不是我需要的:我需要一种方法完全在我的函数内部处理此类中断,允许用户不关心其内部。
附:我需要这个的原因是我有一个创建 MathLink 对象的函数,在任何中断或中止的情况下必须关闭该对象,但在其他情况下则不需要。
【问题讨论】: