Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > 核心语言 > 过程式编程 > 控制流 > Throw >

Throw

Throw[value]
停止计算并将 value 作为最接近 Catch 的返回值.
Throw
仅由 Catch 返回,其中 form 是匹配 tag 的模式.
  • tag 可以是任何表达式.
  • Throw 中的 tag 在每次与 Catch 中的 form 比较时被重新计算.
  • 如果没有适当的内附 Catch 捕捉 Throw ,将产生一个错误并返回一个未计算的 Throw.
Throw 一运行完,即退出最接近的 Catch
定义一个可以"抛出异常"的函数:
Catch 的结果恰好是 Throw 抛出的结果:
当满足规则时,用 Throw 退出循环:
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]=
Throw 在任何函数内起作用:
Throw 处理任何类型的表达式:
通过最接近的 Catch 捕捉 Throw
只计算第一个 Throw,就退出到最接近的 Catch 中:
有标签 Throw
最内层的 Catch 捕捉到了 Throw
最外层的 Catch 捕捉到了 Throw
标签保持为局部的:
求出 之后的第一个素数:
给出除以19余数为1的17的第一个幂:
如果一个迭代过大,停止运算:
如果产生信息,用 Check 抛出一个异常:
Throw 需要 Catch
Throw 可以影响函数返回的结构:
版本 1 的新功能 | 版本 3 修改功能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
格式:   HTML  |  CDF