数学有CheckAbort
允许捕获和处理用户生成的和编程的函数Abort
s。但它不允许捕获由以下函数生成的中断TimeConstrained
and MemoryConstrained
:
TimeConstrained[CheckAbort[Pause[100], Print["From CheckAbort"]], 1]
(不打印"From CheckAbort"
).
有没有办法捕获此类中断数学?
EDIT:我确实知道第三个论点TimeConstrained
and MemoryConstrained
允许在中断的情况下评估一些代码,但这种方式不是我需要的:我需要一种完全在我的函数内部处理此类中断的方法,允许用户不关心其内部结构。
附:我需要这个的原因是我有一个创建的函数MathLink
在任何中断或中止的情况下必须关闭的对象,但在其他情况下则不然。
此结构以未记录的形式提供。
Internal`WithLocalSettings[
preprocessing,
code,
postprocessing]
将导致在中止或各种类型的跳转返回之前进行后处理。
也可以看看:
Mathematica 中的可靠清理 https://stackoverflow.com/questions/3365794/reliable-clean-up-in-mathematica
使用 mathematica 导入大文件/数组 https://stackoverflow.com/questions/7525782/import-big-files-arrays-with-mathematica
丹尼尔·利希布劳
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)