Matlab prøv fangst syntaks
prøveMatlab prøv fangstbeskrivelser og eksempler
En prøvefangst uttalelse er et verktøy som gir programmet stabilitet og robusthet mot unntak eller feil i reell utførelsestid. Disse unntakene eller feilene kan bli fanget slik at når en av disse hendelsene oppstår, kan de håndteres på en forutsigbar og ryddig måte og ikke påvirker systemytelsen.
Try-Catch-setningen består av to blokker: prøv er blokken som omslutter den delen av koden som kan generere et unntak eller feil, og fangsten er blokken som håndterer disse unntakene for å bli trygt behandlet. Når et forsøk får et unntak, gir det kontroll for å fange for behandling. Nedenfor vil vi se på noen praktiske eksempler ved å bruke Try-Catch-setningen for å forstå bedre hvordan det fungerer.
Hvordan oppdage og behandle et unntak eller feil med prøvekampanlegget i MATLAB
Dette eksemplet viser hvordan du bruker prøvekampanlegget mot en felles feil når du beregner firkantede røtter med RealSQRT () -funksjonen. Dette er en av de tre grunnleggende funksjonene Matlab har for denne typen matematisk operasjon, og den godtar bare reelle tall med et positivt tegn som inngangsargumenter. Hvis denne regelen ikke er fornøyd, genereres en feil.
La oss deretter se på å oppdage og håndtere denne feilen ved å lage en konsollapplikasjon som beregner firkantede røtter ved å bruke RealSQRT () -funksjonen. Denne operasjonen utføres i prøveblokken. Når en feil oppstår, føres kontroll for å fange for å løse beregningen ved hjelp av SQRT () -funksjonen, som godtar negative eller komplekse tall.
Opprett et skript, lim inn denne koden og klikk på Kjør. For å lukke applikasjonen, trykk CTRL+C
mens 1Når appen er i gang, oppgir vi verdiene vi trenger for å beregne kvadratroten.
Hvis negative eller komplekse verdier legges inn, i stedet for å øke en feil i RealSQRT () -funksjonen, vil den passere kontrollen til fangst, og operasjonen blir løst med SQRT () -funksjonen. Når dette skjer, vises følgende melding i kommandokonsollen:
"Prøv å finne en feil og passerte kontrollen for å fange"
Hvordan identifisere feil med "mexception" og administrere dem med prøve fangst i matlab
Selv om å identifisere unntak med "Mexception" fortjener sin egen artikkel, vil vi kort forklare hvordan vi bruker denne ressursen, som hjelper oss å identifisere feil og er et effektivt komplement når vi bruker Try-Catch-setningen. MATLAB konstruerer et "mexception" -objekt med informasjon om feilen når en feil genereres. Denne informasjonen er veldig nyttig, da vi kan bruke den til å klassifisere og håndtere forskjellige spesifikke feil. Nedenfor kan du se innholdet i "mexception" med informasjon om en feil generert av den unike () funksjonen.
I det følgende eksemplet vil vi se hvordan du kan hente denne informasjonen for å behandle feilene riktig. For å gjøre dette, vil vi opprette en konsollapplikasjon der vi vil bruke den unike () -funksjonen til å generere feilene vi vil håndtere i fangstblokken og Prompt () -funksjonen for å legge inn dataene som vil være inngangsargumentene til unike ().
Når et forsøk tar en av disse feilene, lagrer den informasjonen i "Mexception", som vi vil lage med navnet "inf_err", som vist nedenfor.
Fang inf_errI fangstblokken sender vi en melding til brukeren som informerer dem om å oppdage en feil med følgende melding "Prøv har funnet en feil og bestått kontroll for å fange".
Så tar vi feilidentifikatoren fra det tidligere opprettede objektet “err_inf.identifikator ”. Denne identifikatoren har form av en streng og gir oss informasjon om:
Funksjonen som genererte den Matlab: Unik
Og den spesifikke feilen Ukjent
'Matlab: unik: ukjentinput'Denne strengen vil være argumentet om at bryteren betinget vil sammenligne med hver av de forhåndsdefinerte feilene i hvert tilfelle.
bytt inf_err.identifikatorEn mulig løsning på feilen eller en melding til brukeren vil bli gitt i hvert tilfelle.
Lag et skript, lim inn denne koden og kjør skriptet. For å lukke applikasjonen, trykk CTRL+C.
ns = [1, 2, 3; 4, 5, 6];Dataene som er lagt inn via ledeteksten sendes som det andre inngangsargumentet til den unike () -funksjonen. Denne inngangen tilsvarer 'Rows', 'First', 'Last', 'Stable', 'Sortered' eller 'Legacy' flagg av denne funksjonen, så den vil generere en feil hvis en streng blir sendt så unik () ikke anerkjent som et av disse flaggene. Den vil også generere en feil hvis denne inngangen får en numerisk verdi. Vi har forhåndsdefinert en sak i bryteren betinget for at hver av disse to feilene skal håndtere hver feil separat. I begge tilfeller blir meldinger sendt til brukeren som informerer dem om feilen og de mulige løsningene.
Når applikasjonen kjører i Matlab -konsollen, skriv inn 'Rows' i ledeteksten og trykk Enter. I dette tilfellet genereres ingen feil, og resultatet er = unik (ns, 'rader') og vises i kommandokonsollen.
I dette tilfellet ble strengen 'ABCD' sendt til unik (), og siden den ikke samsvarer med noen av flaggene, ble det generert en feil.
I "fangst" -blokken ble informasjonen om denne feilen samlet og klassifisert for å gi den en spesiell behandling, en melding til brukeren med flaggalternativene som er tilgjengelige i den unike () -funksjonen.
Det samme i dette tilfellet der en inngangstype som ikke ble akseptert ble sendt, vil dette generere en feil som "forsøk" -blokken oppdager og gir kontroll til "fangst" -blokken der feilen er klassifisert og behandlet; I dette tilfellet en melding til brukeren som rapporterer feilen og den mulige løsningen.
Konklusjon:
I denne artikkelen har vi forklart prøvefangst uttalelsen i Matlab. Vi ga også noen praktiske eksempler som demonstrerer bruken av "Try-Catch-setningen for håndtering av unntak. Vi forklarte også hvordan vi kan klassifisere feilene i "fangst" -blokken ved å bruke Mexception -objektet. Vi håper du fant denne Matlab -artikkelen nyttig. Se andre Linux -hint -artikler for flere tips og informasjon.