ConfirmQuiet
ConfirmQuiet[expr]
确认在 expr 计算期间没有生成消息,否则抑制消息并向最近的 Enclose 抛出一个错误信息.
ConfirmQuiet[expr,s::t]
只对指定消息进行检测.
ConfirmQuiet[expr,{s1::t1,s2::t2,…}]
只对指定的消息列表进行检测.
ConfirmQuiet[expr,"group"]
只对已命名的消息组中的信消息进行检测.
ConfirmQuiet[expr,mspec,info]
若 expr 没有被确认,则对 info 进行计算,并将其值包括在抛出的错误信息中.
ConfirmQuiet[expr,mspec,info,tag]
为任意抛出的错误信息使用指定标签.
更多信息
- 若 expr 的计算没有生成任何指定消息,则 ConfirmQuiet[expr,…] 返回 expr.
- 给定 ConfirmQuiet 一个标签可让其作用域动态变化. 否则,作用域根据语义变化. »
- info 的默认值是 Null.
- ConfirmQuiet 不会测试已使用 Off 或使用函数中出现的 Quiet 被关闭的消息.
- ConfirmQuiet 的操作通过封闭在 Quiet 内部而不受影响.
- 在 ConfirmQuiet[expr,"name"] 中,$MessageGroups 可以给出可能的有名称的消息组.
- 当生成第一条匹配的消息时,ConfirmQuiet 停止计算. »
- ConfirmQuiet[expr] 等价于 ConfirmQuiet[expr,All].
- 由 ConfirmQuiet 生成的 Failure 对象包括下列域:
-
"Information" ConfirmQuiet[expr,mspec,info,…] 中的 info "HeldExpression" ConfirmQuiet[expr,…] 中的 Hold[expr] "HeldMessage" 检测到的消息 s::t 的 Hold[s::t] - 可使用 failure["prop"] 或直接通过 Enclose[expr,"prop"] 来提取这些域中的值.
范例
打开所有单元关闭所有单元基本范例 (1)
如果计算中的 expr 不生成任何消息,则 ConfirmQuiet[expr] 给出 expr:
一旦生成消息,则计算停止,且向周围 Enclose 抛出一则错误消息:
范围 (3)
当匹配消息生成时,ConfirmQuiet 停止计算并返回至匹配的 Enclose:
创建一个可以调用带有标签的 ConfirmQuiet 的函数,这样可以对函数进行动态捕捉:
若未给出任何标签,则 ConfirmQuiet 的作用域根据语义变化:
属性和关系 (2)
不同于 Check,消息一旦生成则 ConfirmQuiet 停止计算:
ConfirmQuiet 不检测被内部 Quiet 抑制的消息:
但是,ConfirmQuiet 会检测到被外部 Quiet 抑制的消息:
可能存在的问题 (3)
必须给 ConfirmQuiet 一个标签或其必须再一个语义 Enclose 中:
可通过替代带有被标签变量的符号 ConfirmQuiet 的实例使未被标签的 ConfirmQuiet 工作:
被标签的 ConfirmQuiet 需要一个有匹配标签的 Enclose:
文本
Wolfram Research (2020),ConfirmQuiet,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ConfirmQuiet.html.
CMS
Wolfram 语言. 2020. "ConfirmQuiet." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/ConfirmQuiet.html.
APA
Wolfram 语言. (2020). ConfirmQuiet. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ConfirmQuiet.html 年