gpt4 book ai didi

wolfram-mathematica - 如何捕获由TimeConstrained生成的中断?

转载 作者:行者123 更新时间:2023-12-04 08:17:38 24 4
gpt4 key购买 nike

Mathematica具有CheckAbort函数,该函数允许捕获和处理用户生成的程序化Abort。但是它不允许捕获由TimeConstrainedMemoryConstrained之类的函数生成的中断:

TimeConstrained[CheckAbort[Pause[100], Print["From CheckAbort"]], 1]

(不打印 "From CheckAbort")。

有没有办法在Mathematica中捕获此类中断?

编辑:我确实知道 TimeConstrainedMemoryConstrained的第三个参数允许在发生中断的情况下评估某些代码,但这种方式不是我所需要的:我需要一种完全在函数内部处理此类中断的方法,允许用户执行不在乎其内部。

P.S.我之所以需要它,是因为我有一个创建 MathLink对象的函数,该对象必须在发生任何中断或中止时关闭,而在其他情况下则不能关闭。

最佳答案

可以以无证件形式获得此构造。

Internal`WithLocalSettings[
preprocessing,
code,
postprocessing]

将导致在中止或各种类型的跳转返回之前进行后处理。

也可以看看:

Reliable clean-up in Mathematica

Import big files/arrays with mathematica

丹尼尔·里奇布劳

关于wolfram-mathematica - 如何捕获由TimeConstrained生成的中断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7586735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com