Confirm
更多信息
- 如果 expr 被成功确认,Confirm[expr,…] 将返回 expr.
- 如果 expr 具有以下任何一种形式,则 Confirm[expr,…] 认为 expr 失败并抛出错误:
-
Failure[…] Missing[…] $Failed $Canceled $Aborted - 当给定标签时,Confirm 为动态作用域. 否则它将在词法范围内. »
- info 的缺省值为 Null.
- expr 被抛出前封装在 Failure 内,除非 info 为 Null 且 expr 是先前确认函数的 Failure. »
- 由 Confirm 生成的 Failure 对象包括以下字段:
-
"Information" 来自 Confirm[expr,info,…] 的 info "Expression" 来自 Confirm[expr,…] 的 expr - 这些字段的值可以使用 failure["prop"] 或直接通过 Enclose[expr,"prop"] 提取.
范例
打开所有单元 关闭所有单元基本范例 (2)
如果 expr 不被视为失败,则 Confirm[expr] 给出 expr:
Enclose[f[x, Confirm[y], z]]如果 Confirm 遇到失败,它会停止运算并向周围的 Enclose 抛出错误:
Enclose[f[x, Confirm[$Failed], z]]addtwo[x_] := Enclose[Confirm[x] + 2]addtwo[4]addtwo[Missing[]]范围 (4)
在抛出错误时,Confirm 停止运算并返回匹配的 Enclose:
Enclose[Echo[1];Confirm[$Failed];Echo[2]]Enclose[Confirm[2, Echo["info was evaluated"]]]Enclose[Confirm[$Failed, Echo["info was evaluated"]]]创建一个函数,调用带有标签的 Confirm,以便可以动态捕获它:
f[x_] := g[3 + Confirm[x, Null, "fooTag"]]h[y_] := Enclose[f[y], Identity, "fooTag"]h[2]h[$Canceled]如果不给出标签,则 Confirm 作用于词法范围内:
f2[x_] := g[3 + Confirm[x]]h2[y_] := Enclose[f2[y]]h2[2]错误在被抛出之前封装在 Failure 中,除非错误是从另一个确认函数抛出:
Enclose[Confirm[Missing[]]]Enclose[Confirm[%]]当 info 不是 Null 时,此行为将被否决:
Enclose[Confirm[%, "foo"]]应用 (1)
mountainElevation::inv = "Could not interpret `` as a mountain.";mountainElevation[name_] :=
Enclose[
Confirm[Interpreter["Mountain"][name], Message[mountainElevation::inv, name]]["Elevation"],
$Failed&]mountainElevation["k2"]mountainElevation[π]属性和关系 (1)
文本
Wolfram Research (2020),Confirm,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Confirm.html.
CMS
Wolfram 语言. 2020. "Confirm." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/Confirm.html.
APA
Wolfram 语言. (2020). Confirm. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Confirm.html 年
BibTeX
@misc{reference.wolfram_2026_confirm, author="Wolfram Research", title="{Confirm}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/Confirm.html}", note=[Accessed: 16-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_confirm, organization={Wolfram Research}, title={Confirm}, year={2020}, url={https://reference.wolfram.com/language/ref/Confirm.html}, note=[Accessed: 16-September-2026]}