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]
スローする任意のエラーに指定されたタグを使う.
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]
スローする任意のエラーに指定されたタグを使う.
詳細
- ConfirmQuiet[expr,…]は,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)
ConfirmQuiet[expr]は,expr を評価してもメッセージが生成されないときは expr を返す:
Enclose[f[1, ConfirmQuiet[1 / 2], 1 / 3]]メッセージが生成されると評価は中止され,エラーが囲んでいるEncloseにスローされる:
Enclose[f[1, ConfirmQuiet[1 / 0], 1 / 3]]スコープ (3)
ConfirmQuietは,一致するメッセージが生成されたときは,評価を中止して一致するEncloseに戻る:
Enclose[Echo[1];ConfirmQuiet[Echo[2];0 ^ 0;Echo[3]];Echo[4]]info は,expr が確認できないときしか評価されない:
Enclose[ConfirmQuiet[Reverse[{1, 2, 3}], All, Echo["info was evaluated"]]]Enclose[ConfirmQuiet[Reverse[12], All, Echo["info was evaluated"]]]動的にキャッチできるようにタグでConfirmQuietを呼び出す関数を作成する:
f[x_] := g[ConfirmQuiet[1 / x, All, Null, "fooTag"]]h[y_] := Enclose[f[y], Identity, "fooTag"]h[12]h[0]タグがないとConfirmQuietのスコープは語彙的になる:
f2[x_] := g[ConfirmQuiet[1 / x]]h2[y_] := Enclose[f2[y]]h2[12]特性と関係 (2)
ConfirmQuietは,Checkとは異なり,メッセージが生成されると評価を中止する:
Enclose[ConfirmQuiet[Echo[1];1 / 0;Echo[2]]]Check[Echo[1];1 / 0;Echo[2], "foo"]ConfirmQuietは内側のQuietによって非表示にされたメッセージは検知しない:
Enclose[ConfirmQuiet[Quiet[1 / 0]]]しかし,ConfirmQuietは外側のQuietを使って非表示にされたメッセージは検知する:
Quiet[Enclose[ConfirmQuiet[1 / 0]]]考えられる問題 (3)
ConfirmQuietにはタグを渡すか語彙的なEncloseの中に置くかしなければならない:
ConfirmQuiet["Hello"]タグなしのConfirmQuietはシンボルConfirmQuietのインスタンスをタグ付きのバリアントで置換することで作用する:
Enclose[Hold[ConfirmQuiet]]タグ付きのConfirmQuietには,一致するタグを持つEncloseが必要である:
Enclose[ConfirmQuiet[1 / 0, All, Null, "foo"], Identity, "bar"]
関連するガイド
-
▪
- ロバスト性とエラー処理 ▪
- パッケージの保護 ▪
- フロー制御
テキスト
Wolfram Research (2020), ConfirmQuiet, Wolfram言語関数, https://reference.wolfram.com/language/ref/ConfirmQuiet.html.
CMS
Wolfram Language. 2020. "ConfirmQuiet." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ConfirmQuiet.html.
APA
Wolfram Language. (2020). ConfirmQuiet. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ConfirmQuiet.html
BibTeX
@misc{reference.wolfram_2026_confirmquiet, author="Wolfram Research", title="{ConfirmQuiet}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/ConfirmQuiet.html}", note=[Accessed: 10-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_confirmquiet, organization={Wolfram Research}, title={ConfirmQuiet}, year={2020}, url={https://reference.wolfram.com/language/ref/ConfirmQuiet.html}, note=[Accessed: 10-September-2026]}