Mathematicaに完全なエラーメッセージではなく、エラー名だけを出力させるにはどうすればいいですか?

Aug 21 2020

たとえば、を使用するLinearSolveと、次のエラーメッセージが表示される場合があります。

LinearSolve::luc: Result for LinearSolve of badly conditioned matrix `1` may contain significant numerical errors.

ここ`1`で、詳細な条件の悪いマトリックスを入力します。

問題は、その行列が非常に大きい場合、非常に大きなエラーファイルが生成されることです。では、後者の部分を抑制して、エラー名をLinearSolve::luc出力したままにしておくことは可能ですか?

回答

5 Kuba Aug 21 2020 at 17:59
<< GeneralUtilities`

WithMessageHandler[
 1/0, Print@#["MessageTemplate"] &
]

それはあなたのニーズに合っていますか?

このハンドラーを使用すると、メッセージはメッセージではなくなったため、メッセージを送信できなくCheckなります。