Mathematica > 核心语言 > 过程式编程 > 控制流 > Catch >

Catch

Catch[expr]
返回在运行 expr 时产生的第一个 Throw 的参数.
Catch
返回 form 匹配 tag 的第一个 Throw 中的 value.
Catch
返回 .
  • 如果在运行时不生成 Throw,则 Catch 总是返回 expr 的值.
  • form 可以是任何表达式,而且经常是一个模式.
  • Throw 中的 tag 在每次与 form 比较时重新运算.
一运行 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]=
Catch 可以从任何函数内捕捉一个 Throw
最近的 Catch 捕捉 Throw
Catch 挑选出第一个被运行的 Throw
Throw 不需要词法式地出现于 Catch 内部:
一个可以抛出若干不同的异常的函数:
一个用于可能的异常的处理程序:
捕捉标记为 Throw
内层的 Catch 捕捉到 Throw
外层的 Catch 捕捉到 Throw
使标记保持在局部:
给出 以后的第一个质数:
给出模除19等于1的17的第一个幂:
如果一个迭代变得太大,则停止运算:
如果产生信息,利用 Check 抛出一个异常:
版本 1 的新功能 | 版本 3 修改功能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
格式:   HTML  |  CDF