Throw

Throw[value]

停止计算并将 value 作为最接近 Catch 的返回值.

Throw[value,tag]

仅由 Catch[expr,form] 返回,其中 tag 匹配 form.

Throw[value,tag,f]

如果找不到合适的 Catch,则返回 f[value,tag] 作为顶层值.

更多信息

  • 您可以用 ThrowCatch 退出诸如 NestFoldFixedPointScan 的函数.
  • tag 可以是任何表达式.
  • Throw[value,tag] 中的 tag 在每次与 Catch[expr,form] 中的 form 比较时被重新计算.
  • 如果没有适当的内附 Catch 捕捉 Throw ,将产生一个错误并返回一个未计算的 Throw.

范例

打开所有单元关闭所有单元

基本范例  (3)

Throw 一运行完,即退出最接近的 Catch

定义一个可以抛出异常的函数:

Catch 的结果恰好是 Throw 抛出的结果:

当满足规则时,用 Throw 退出循环:

范围  (4)

Throw 在任何函数内起作用:

Throw 处理任何类型的表达式:

通过最接近的 Catch 捕捉 Throw

只计算第一个 Throw,就退出到最接近的 Catch 中:

推广和延伸  (3)

有标签 uThrow

最内层的 Catch 捕捉到了 Throw

最外层的 Catch 捕捉到了 Throw

标签保持为局部的:

应用  (3)

求出 1010 之后的第一个素数:

给出除以19余数为1的17的第一个幂:

如果一个迭代过大,停止运算:

属性和关系  (1)

如果产生信息,用 Check 抛出一个异常:

可能存在的问题  (2)

Throw 需要 Catch

Throw 可以影响函数返回的结构:

Wolfram Research (1988),Throw,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Throw.html (更新于 2020 年).

文本

Wolfram Research (1988),Throw,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Throw.html (更新于 2020 年).

CMS

Wolfram 语言. 1988. "Throw." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/Throw.html.

APA

Wolfram 语言. (1988). Throw. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Throw.html 年

BibTeX

@misc{reference.wolfram_2024_throw, author="Wolfram Research", title="{Throw}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/Throw.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_throw, organization={Wolfram Research}, title={Throw}, year={2020}, url={https://reference.wolfram.com/language/ref/Throw.html}, note=[Accessed: 22-November-2024 ]}