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.