Celamento degli avvisi
Il programma potrebbe generare avvisi che non compromettono necessariamente l’esecuzione. Per evitare confusione, è possibile nascondere i messaggi di avviso durante l'esecuzione modificando il loro stato da 'on' a 'off'.
Per nascondere messaggi di avviso specifici, è necessario innanzitutto individuare l'identificatore dell'avviso. Ogni messaggio di avviso ha un identificatore univoco. Per individuare l'identificatore associato a un avviso di MATLAB®, riprodurre l'avviso. Ad esempio, questo codice riproduce un avviso generato nel caso in cui MATLAB tenti di rimuovere una cartella inesistente:
rmpath('folderthatisnotonpath')Warning: "folderthatisnotonpath" not found in path.
Nota
Se questa dichiarazione non produce un messaggio di avviso, utilizzare il codice seguente per abilitare temporaneamente la visualizzazione di tutti gli avvisi, quindi ripristinare lo stato originale dell'avviso:
w = warning ('on','all'); rmpath('folderthatisnotonpath') warning(w)
Per ottenere informazioni sull'avviso generato più di recente, utilizzare la funzione warning o la funzione lastwarn. Questo codice utilizza lo stato query per restituire una struttura di dati contenente l'identificatore e lo stato attuale dell'ultimo avviso:
w = warning('query','last')
w =
identifier: 'MATLAB:rmpath:DirNotFound'
state: 'on'id:id = w.identifier;
Nota
warning('query','last') restituisce l'ultimo avviso visualizzato. MATLAB visualizza solo i messaggi di avviso che hanno state: 'on' e un identificatore di avviso.
Utilizzando la funzione lastwarn, è possibile recuperare l'ultimo messaggio di avviso, indipendentemente dal suo stato di visualizzazione:
lastwarn
ans = "folderthatisnotonpath" not found in path.
Attivazione e disattivazione degli avvisi
Dopo aver ottenuto l'identificatore dallo stato query, utilizzare questa informazione per disattivare o attivare l'avviso associato a tale identificatore.
Continuando con l'esempio della sezione precedente, disattivare l'avviso 'MATLAB:rmpath:DirNotFound' e ripetere l'operazione.
warning('off',id) rmpath('folderthatisnotonpath')
MATLAB non visualizza alcun avviso.
Attivare l'avviso e provare a rimuovere un percorso inesistente:
warning('on',id) rmpath('folderthatisnotonpath')
Warning: "folderthatisnotonpath" not found in path.
MATLAB ora genera un avviso.
Suggerimento
Disattivare l'avviso più recente con warning('off','last').
Controllo di tutti gli avvisi
Il termine tutti si riferisce solo agli avvisi che sono stati generati o modificati durante l'attuale sessione di MATLAB. Gli stati di avviso modificati persistono solo per la sessione attuale. Avviando una nuova sessione vengono ripristinate le impostazioni predefinite.
Utilizzare l'identificatore 'all' per rappresentare il gruppo di tutti gli avvisi. Visualizzare lo stato di tutti gli avvisi utilizzando una delle seguenti sintassi:
warning('query','all')
warning
Per attivare tutti gli avvisi e verificare lo stato:
warning('on','all') warning('query','all')
All warnings have the state 'on'.
Per disattivare tutti gli avvisi e verificare lo stato, utilizzare la sintassi:
warning('off','all') warning
All warnings have the state 'off'.