Matlab prova la sintassi
TentativoMatlab prova le descrizioni ed esempi
Una dichiarazione di try-catch è uno strumento che fornisce la stabilità e la robustezza del programma contro eccezioni o errori nel tempo di esecuzione reale. Queste eccezioni o errori possono essere catturati in modo che quando si verificano uno di questi eventi, possono essere gestiti in modo prevedibile e ordinato e non influiscono sulle prestazioni del sistema.
L'istruzione Try-Catch è costituita da due blocchi: il tentativo è il blocco che racchiude la parte del codice che può generare un'eccezione o un errore e la cattura è il blocco che gestisce queste eccezioni da elaborare in modo sicuro. Quando un tentativo cattura un'eccezione, passa il controllo per catturare per l'elaborazione. Di seguito, esamineremo alcuni esempi pratici usando la dichiarazione di prova per capire meglio come funziona.
Come rilevare ed elaborare un'eccezione o un errore con l'istruzione Try-Catch in MATLAB
Questo esempio mostra come utilizzare l'istruzione Try-Catch rispetto a un errore comune quando si calcola le radici quadrate con la funzione realsqrt (). Questa è una delle tre funzioni di base che Matlab ha per questo tipo di operazione matematica e accetta solo numeri reali con un segno positivo come argomenti di input. Se questa regola non è soddisfatta, viene generato un errore.
Successivamente, cerchiamo di rilevare e gestire questo errore creando un'applicazione console che calcola le radici quadrate usando la funzione realsqrt (). Questa operazione viene eseguita nel blocco Try. Quando si verifica un errore, viene passato il controllo per catturare per risolvere il calcolo usando la funzione SQRT (), che accetta numeri negativi o complessi.
Crea uno script, incolla questo codice e fai clic su Esegui. Per chiudere l'applicazione, premere Ctrl+C
mentre 1Una volta che l'app è attiva e in esecuzione, inseriamo i valori di cui abbiamo bisogno per calcolare la radice quadrata.
Se vengono immessi valori negativi o complessi, invece di raccogliere un errore nella funzione RealSqrt (), passerà il controllo per catturare e l'operazione viene risolta con la funzione SQRT (). Quando ciò accade, il seguente messaggio viene visualizzato nella console di comando:
"Prova a trovare un errore e ha superato il controllo per catturare"
Come identificare gli errori con "mexception" e gestirli con try catch in matlab
Sebbene identificare le eccezioni con "Mexception" meriti il proprio articolo, spiegheremo brevemente come utilizzare questa risorsa, il che ci aiuta a identificare gli errori ed è un complemento efficace quando si utilizzano l'istruzione Try-Catch. Matlab costruisce un oggetto "mexception" con informazioni sull'errore quando viene generato un errore. Queste informazioni sono molto utili in quanto possiamo usarle per classificare e gestire vari errori specifici. Di seguito puoi vedere il contenuto di "Mexception" con informazioni su un errore generato dalla funzione univoca ().
Nel seguente esempio, vedremo come recuperare queste informazioni per elaborare correttamente gli errori. Per fare ciò, creeremo un'applicazione console in cui utilizzeremo la funzione unica () per generare gli errori che gestiremo nel blocco catch e la funzione prompt () per inserire i dati che saranno gli argomenti di input di unici ().
Quando un tentativo cattura uno di questi errori, memorizza le sue informazioni in "Mexception", che creeremo con il nome "Inf_err", come mostrato di seguito.
Catch Inf_errNel blocco di cattura, inviamo un messaggio all'utente che li informa di rilevare un errore con il seguente messaggio "Try ha trovato un errore e ha superato il controllo per catturare".
Quindi prendiamo l'identificatore di errore dall'oggetto precedentemente creato "ERR_INF.identificatore ". Questo identificatore ha la forma di una stringa e ci fornisce informazioni su:
La funzione che l'ha generata Matlab: unico
E l'errore specifico UnknownInput
'Matlab: unico: sconosciuto'Questa stringa sarà l'argomento secondo cui l'interruttore si confronterà con ciascuno degli errori predefiniti in ciascun caso.
Switch Inf_err.identificatoreUna possibile soluzione all'errore o un messaggio all'utente verrà fornita in ogni caso.
Crea uno script, incolla questo codice ed esegui lo script. Per chiudere l'applicazione, premere Ctrl+C.
ns = [1, 2, 3; 4, 5, 6];I dati inseriti tramite il prompt vengono inviati come secondo argomento di input alla funzione univoca (). Questo input corrisponde alle flag di "righe", "prima", "ultimo", "stabile", "ordinato" o "legacy" di questa funzione, quindi genererà un errore se viene inviata una stringa univoca () riconosciuto come una di queste bandiere. Genera anche un errore se questo input viene dato un valore numerico. Abbiamo predefinito un caso nell'interruttore condizionale per ciascuno di questi due errori per gestire ciascun errore separatamente. In entrambi i casi, i messaggi vengono inviati all'utente che li informa dell'errore e delle possibili soluzioni.
Quando l'applicazione è in esecuzione nella console MATLAB, immettere "righe" nel prompt e premere Invio. In questo caso, non viene generato alcun errore e il risultato è = unico (ns, "righe") e viene visualizzato nella console di comando.
In questo caso, la stringa "ABCD" è stata inviata a unica () e poiché non corrisponde a nessuna delle flag, è stato generato un errore.
Nel blocco "Catch", le informazioni su questo errore sono state raccolte e classificate per dargli un trattamento speciale, un messaggio all'utente con le opzioni di flag disponibili nella funzione univoca ().
Lo stesso in questo caso in cui è stato inviato un tipo di input non accettato, questo genererà un errore che il blocco "try" rileva e passa il controllo al blocco "cattura" in cui l'errore è classificato e trattato; In questo caso, un messaggio all'utente che segna l'errore e la possibile soluzione.
Conclusione:
In questo articolo, abbiamo spiegato la dichiarazione di try-catch in matlab. Abbiamo anche dato alcuni esempi pratici che dimostrano l'uso della "dichiarazione di prova per la gestione delle eccezioni. Abbiamo anche spiegato come classificare gli errori all'interno del blocco "cattura" usando l'oggetto Mexception. Speriamo che tu abbia trovato utile questo articolo di Matlab. Vedi altri articoli di suggerimento Linux per ulteriori suggerimenti e informazioni.