2015-05-09 14 views
7

Stavo cercando di utilizzare la funzione warning() con un messaggio di avviso. Quando provo warning('random message') funziona perfettamente bene. Ma se cambio la stringa da error invece, ottengo un errore dicendo che non ha argomenti di input sufficienti:Avviso Matlab ('errore') non produce argomenti sufficienti errore

warning('error') 
Error using warning 
Not enough input arguments. 

C'è qualcosa di speciale la parola error che mi impedisce di usarlo come un messaggio?

Sto usando 2014b.

risposta

8

Sì, il flag 'error' è un'opzione speciale non documentata che richiede un input aggiuntivo (a message identifier). Viene utilizzato per intrappolare/catturare avvisi come errori. Vedi this Undocumented Matlab post e this MathWorks Newsgroup posting.

Questo problema può essere replicato anche in R2015a. Forse questa utile opzione dovrebbe essere documentata o forse warning('error') con nessun identificatore di messaggio dovrebbe funzionare come previsto. Potresti considerare filing a service request con The MathWorks.

Tuttavia, è probabilmente buona norma utilizzare il modulo a due ingressi di warning (e error) con l'ID del messaggio iniziale. Per esempio:

warning('MyFunction1:MyWarningName1','error') 

o

warning('MyLibrary:MyFunction2:MyWarningName2','error') 
+0

Grazie @horchler, ero abbastanza curioso di questo! – brodoll

+1

Grande conoscenza profonda di Matlab qui! –

Problemi correlati