I denne artikel lærer vi, hvordan søgeordet Python Raise fungerer ved hjælp af eksempler og dets fordele.
Python Hæv søgeord
Python hæve søgeord bruges til at rejse undtagelser eller fejl. Hæve nøgleordet rejser en fejl og stopper programmets kontrolflow. Den bruges til at bringe den aktuelle undtagelse frem i en undtagelseshåndtering, så den kan håndteres længere oppe i opkaldsstakken.
Python Raise Syntaks
hæv {name_of_ the_ exception_class}
Den grundlæggende måde at rejse en fejl på er:
hæve Undtagelse(brugertekst)
Kontrollerer, om et heltal er ulige eller lige
I nedenstående kode tjekker vi, om et heltal er lige eller ulige. hvis hele tallet er ulige, hæves en undtagelse. a er en variabel, som vi har tildelt et tal 5, da a er ulige, så hvis loop kontrollerer, om det er et ulige heltal, hvis det er et ulige heltal, opstår der en fejl.
Python3
a>=> 5> if> a>%> 2> !>=> 0>:> >raise> Exception(>'The number shouldn't be an odd integer'>)> |
konverter int til streng java
>
>
Produktion:

Kontrollerer fejltype
Vi kan kontrollere typen af fejl, der er opstået under udførelsen af vores kode. Fejlen kan være en 'ValueError' eller a 'ZeroDivisionError' eller en anden type fejl.
Syntaks: hæve TypeError
hurtig sortering
Kontrollerer fejltypen
I nedenstående kode prøvede vi at ændre strengen 'æble' tildelt s til heltal og skrev en try-except-sætning for at hæve ValueError. Søgeordet raise error rejser en værdifejl med meddelelsen Streng kan ikke ændres til et heltal.
Python3
s>=> 'apple'> try>:> >num>=> int>(s)> except> ValueError:> >raise> ValueError(>'String can't be changed into integer'>)> |
>
>
Produktion
strengsammenkædning java

Oprettelse af en undtagelse uden at angive undtagelsesklasse
Når vi bruger søgeordet raise, er der ingen tvang til at give en undtagelsesklasse sammen med det. Når vi ikke giver nogen undtagelsesklassenavn med søgeordet raise, genrejser det den undtagelse, der sidst fandt sted.
Eksempel
I ovenstående kode forsøgte vi at ændre strengen 'æble' til heltal og skrev en try-except-sætning for at hæve ValueError. Koden er den samme som før, bortset fra at vi ikke leverer en undtagelsesklasse, den genrejser den undtagelse, der sidst fandt sted.
Python3
s>=> 'apple'> try>:> >num>=> int>(s)> except>:> >raise> |
>
>
Produktion:

Fordele ved søgeordet raise
- Det hjælper os med at rejse fejlundtagelser, når vi kan løbe ind i situationer, hvor eksekveringen ikke kan fortsætte.
- Det hjælper os med at rejse fejl i Python, der er fanget.
- Raise giver os mulighed for at kaste en undtagelse til enhver tid.
- Det er nyttigt, når vi vil arbejde med inputvalideringer.