Scala prøv fangst

Scala prøv fangst
Unntak i ethvert programmeringsspråk er definert som den uventede atferden som følge av å utføre et irrelevant eller logisk feil kode. Vi bruker "prøv fangst" -uttrykket i Scala for å håndtere disse unntakene grasiøst. Innenfor "prøv" -blokken skriver vi kode som sannsynligvis vil kaste en feil, mens vi imøtekommer disse unntakene i "fangst" -blokken. Dette konseptet ligner ganske mye på det som ble brukt i Java; Den eneste forskjellen er imidlertid at "prøv fangst" -uttrykket i Scala fungerer på konseptet mønstermatching, og du vil lære mer om dette ved å gå gjennom denne artikkelen.

Eksempler på å bruke prøvefangsuttrykket til Scala:

For å forstå hvordan Try Catch -uttrykket kan brukes i Scala, må du gå gjennom følgende tilfeller som vi har implementert på en Ubuntu 20.04 System.

Eksempel 1: Fangst et aritmetisk unntak med prøvefangstuttrykket i Scala:

Aritmetiske unntak er mest sannsynlig å oppstå mens du utfører matematiske beregninger i Scala. Forekomsten av disse unntakene innebærer at noen regler for matematikk er blitt krenket. For å lære prosessen med å fange et aritmetisk unntak i Scala, må du se på følgende kode:

I dette eksemplet har vi først laget en "Try -Clatch" -klasse i Scala. Deretter, innenfor "Main ()" -funksjonen til programmet vårt, har vi en "prøve" -blokk inni som vi har et uttrykk som deler et tall med "0". Vi vet alle at i matematikk fører ethvert antall delt på null til en feil siden det er lik uendelig. Derfor vil dette uttrykket i Scala også sannsynligvis kaste et unntak som vi vil fange i "fangst" -blokken av koden vår. Innenfor "fangst" -blokken har vi en sak med tittelen “Unntak.”Vi har navngitt dette unntaket som en“ Aritmeticexception.”Vi har skrevet ut en melding på terminalen i denne sakens uttalelse for å informere brukeren om at et aritmetisk unntak har skjedd.

For å se hvordan dette Scala -skriptet fungerer, samlet vi det først med kommandoen vist nedenfor:

$ Scalac Trycatch.Scala

Deretter måtte vi utføre den med følgende kommando:

$ Scala Trycatch

Utgangen fra dette Scala -skriptet vises på bildet nedenfor, som bekrefter at et aritmetisk unntak har skjedd i Scala -skriptet vårt siden vi forsøkte å dele et tall med "0".

Eksempel nr. 2: Bruke Try Catch -uttrykket i Scala med flere saksuttalelser:

I eksemplet omtalt ovenfor benyttet vi oss bare av en enkelt "sak" -uttalelse siden vi var sikre på unntaket som kunne kastes mot oss. Når du er usikker på unntaket som vil bli kastet på grunn av å kjøre et bestemt stykke kode, trenger du flere forskjellige uttrykk for å fange disse unntakene. Imidlertid, i Scala, i stedet for å ha flere "fangst" -uttrykk, kan du ha flere tilfeller innenfor samme "fangst" -blokk. På denne måten vil "fangst" -uttrykket fungere med prinsippet om mønstermatching, og det mest passende unntaket av alle tilfeller i henhold til situasjonen vil bli presentert for brukeren. Dette demonstreres av følgende Scala -skript:

Vi har tatt med noen biblioteker før vi skriver vår faktiske kode i dette eksemplet. Disse bibliotekene inneholder implementering av unntakene vi vil bruke i dette skriptet. Etter å ha inkludert disse bibliotekene, erklærte vi en "Trycatch" -klasse der det er en "Main ()" -funksjon. Inne i denne funksjonen har vi en "prøve" -blokk der vi har laget en verdi som heter "Reading" og prøvd å lese en fil med navnet "ABC.tekst". Merk at denne filen ikke eksisterte på systemet vårt, noe som betyr at en feil vil bli vist som et resultat av å kjøre denne koden. Deretter, innenfor vår "fangst" -blokk, har vi to forskjellige "sak" -uttalelser. Den første vil bli utført hvis en "filenotfound" -feil vises, noe som gjelder i dette tilfellet. Imidlertid, hvis det er et "IO" unntak, vil det andre tilfellet av "fangst" -blokken bli utført.

Når vi samlet og utførte dette skriptet, dukket det opp et "filenotfound" unntak på terminalen fordi vi prøvde å lese en fil som ikke eksisterte på systemet vårt.

Eksempel nr. 3: Bruke prøvefangsuttrykket med det endelig uttrykket i Scala:

Noen ganger skriver du et langt manus. Du er ikke sikker på en viss del av det skriptet og om det vil bli utført vellykket eller ikke; Imidlertid vil du fortsatt at en annen del av det skriptet skal utføres uavhengig av forekomst av noe unntak. I så fall må du skrive den delen av skriptet ditt i "Endelig" -uttrykket. Dette kan sees i følgende skript:

Du kan se på bildene som er vist over at dette skriptet er det samme som vi diskuterte i vårt andre eksempel; Imidlertid er den eneste delen vi har lagt til dette skriptet "Endelig" uttrykket. Innenfor dette uttrykket har vi ganske enkelt skrevet ut en tilfeldig melding; Du kan imidlertid skrive ethvert stykke kode i dette uttrykket som du vil bli utført på noen måte.

Bildet som vises nedenfor viser utgangen fra dette Scala -skriptet. Du kan se at selv om et unntak skjedde på grunn av å kjøre dette skriptet, ble uttalelsen skrevet i "Endelig" -blokken ble utført.

Konklusjon:

Denne guiden var ment for å forklare konseptet "prøv fangst" i Scala i Ubuntu 20.04. For det første lærte vi deg formålet med dette uttrykket i Scala og kommenterte dets likhet med Java. For å tydelig forklare bruken, forklarte vi deg tre forskjellige eksempler som implementerte dette uttrykket i Scala. Vi fremhevet også hvordan du kan imøtekomme flere unntak bare ved å bruke flere "tilfeller" i en enkelt "fangst" -blokk. Etter å ha lært disse grunnleggende konseptene, vil du kunne skrive programmer effektivt på Scala -programmeringsspråket.