Come fare in modo che Mathematica emetta solo il nome dell'errore, piuttosto che il messaggio di errore completo?

Aug 21 2020

Ad esempio, quando utilizzo LinearSolve, potrebbe essere visualizzato un messaggio di errore:

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

dove `1`va riempito con la matrice mal condizionata dettagliata.

Il problema è che quando quella matrice è molto grande, verrà generato un file di errore molto grande. Quindi è possibile sopprimere l'ultima parte e mantenere LinearSolve::lucstampato il nome dell'errore?

Risposte

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

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

Si adatta alle tue esigenze?

Tieni presente che con questo gestore il messaggio non è più un messaggio, quindi non puoi Checkfarlo ecc.