PropagateAborts
是 CheckAbort 的一个选项,用于控制已处理的中止是否传播到所封闭的函数.
更多信息
- 如果中止是在 expr 运算期间发生,则 CheckAbort[expr,failexpr] 运算 failexpr. PropagateAborts 控制中止信号是否超越 failexpr 的运算而持续存在,并传播到所封闭的函数,或者是否应该被清除.
- PropagateAborts 接受以下设置:
-
Automatic 传播除用户启动的中止以外的中止(包括对 Abort[]的调用) True 传播所有中止 False 不传播中止
范例
打开所有单元 关闭所有单元基本范例 (2)
CheckAbort[Abort[], "check"]在这种情况下,行为与 PropagateAbortsFalse 相同:
CheckAbort[Abort[], "check", PropagateAborts -> False]使用 PropagateAbortsTrue,中止在 CheckAbort 返回后仍然有效:
CheckAbort[Abort[], "check", PropagateAborts -> True]TimeConstrained[CheckAbort[Pause[10], "check"], 2, "constraint"]在这种情况下,行为与 PropagateAbortsTrue 相同:
TimeConstrained[CheckAbort[Pause[10], "check", PropagateAborts -> True], 2, "constraint"]使用 PropagateAbortsFalse,TimeConstrained 的第二个参数不可能达到:
TimeConstrained[CheckAbort[Pause[10], "check", PropagateAborts -> False], 2, "constraint"]范围 (2)
MemoryConstrained[CheckAbort[Range[10^6], "check"], 10^4, "constraint"]在这种情况下,行为与 PropagateAbortsTrue 相同:
MemoryConstrained[CheckAbort[Range[10^6], "check", PropagateAborts -> True], 10^4, "constraint"]使用 PropagateAbortsFalse,MemoryConstrained 的第二个参数不可能达到:
MemoryConstrained[CheckAbort[Range[10^6], "check", PropagateAborts -> False], 10^4, "constraint"]使用 PropagateAbortsFalse 允许在循环中尝试以后的计算:
MemoryConstrained[Do[CheckAbort[Expand[(x + i) ^ 100];
Print["completed i==", i], Print["abort in i==", i], PropagateAborts -> False], {i, 0, 5}];
"loop finished", 2 10 ^ 4, "loop broken"]MemoryConstrained[Do[CheckAbort[Expand[(x + i) ^ 100];
Print["completed i==", i], Print["abort in i==", i]], {i, 0, 5}];
"loop finished", 2 10 ^ 4, "loop broken"]文本
Wolfram Research (2022),PropagateAborts,Wolfram 语言函数,https://reference.wolfram.com/language/ref/PropagateAborts.html.
CMS
Wolfram 语言. 2022. "PropagateAborts." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/PropagateAborts.html.
APA
Wolfram 语言. (2022). PropagateAborts. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/PropagateAborts.html 年
BibTeX
@misc{reference.wolfram_2026_propagateaborts, author="Wolfram Research", title="{PropagateAborts}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/PropagateAborts.html}", note=[Accessed: 08-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_propagateaborts, organization={Wolfram Research}, title={PropagateAborts}, year={2022}, url={https://reference.wolfram.com/language/ref/PropagateAborts.html}, note=[Accessed: 08-November-2026]}