Mathematica 9 is now available

2.5.13 高级专题:中断与退出

1.3.7 节中叙述了按某些键来中断 Mathematica 的计算.有时需要在程序中模拟 使用这一方法,一般地,执行 Interrupt[ ] 与按中断键有相同的使用, 如1.3.12 节中所述,在某些系统中会在屏幕上出现一个选择菜单.

中断与退出

函数 Abort[ ] 在中断计算时与在中断菜单中选退出项的效果相同. 可以用 Abort[ ] 在程序中立即中断,但在几乎所有的情况下,最好使用 ReturnThrow, 它们产生的结果容易控制.

Abort 终止了计算,仅第一个 Print 被执行

在计算表达式的过程的任何点中断了计算以后,Mathematica 将放弃对个表达式的计算, 返回值为 $Aborted. 但可以使用 CheckAbort 函数去捕获中断,如果在 CheckAbort[expr, failexpr] 计算过程中中断,CheckAbort 函数的返回值为  ,且中断不再扩大. Dialog 等函数这样使用CheckAbort 以包含中断的影响.

CheckAbort 捕获中断,显示 c,返回值为 aborted

Abort 的效果包含在 CheckAbort 中,所以显示 b

在复杂的程序中,有时需程序中的某一部分不发生中断.函数 AbortProtect 可以使计算一直进行下去,而将计算过程中的中断保存到 表达式计算结束.

Abort 一直保存到 AbortProtect 完成

AbortProtect 看见中断,但使中断不再继续扩大

即使在 AbortProtect 之内,CheckAbort 将发现任何中断,并返回到一个合适的 failexpr, 当这个 failexpr 本身不包含 Abort[ ] 时,中断就会被 CheckAbort 所 "吸收".



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.