Throw

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

Throw[value, tag]
仅由 Catch[expr, form] 返回,其中 form 是匹配 tag 的模式.

更多信息更多信息

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

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

基本范例 (3)基本范例 (3)

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

In[1]:=
Click for copyable input
Out[1]=

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

In[1]:=
Click for copyable input

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

In[2]:=
Click for copyable input
Out[2]=
In[3]:=
Click for copyable input
Out[3]=

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

In[1]:=
Click for copyable input
Out[1]=
版本 1 的新功能 | 版本 3 修改功能
New to Mathematica? Find your learning path »
Have a question? Ask support »