How To Best Use Try Except In Python – Spesielt For Nybegynnere

i Python programmering tillater unntakshåndtering en programmerer å aktivere flytkontroll. Og det har ingen. av innebygde unntak for å fange feil i tilfelle koden din bryter. Bruke try-except er den vanligste og naturlige måten å håndtere uventede feil sammen med mange flere unntakshåndteringskonstruksjoner. I denne opplæringen får du utforske noen av de beste teknikkene for å bruke try-unntatt I Python.

Feilhåndtering Eller Unntakshåndtering I Python kan håndheves ved å sette opp unntak. Ved hjelp av en prøveblokk kan du implementere et unntak og håndtere feilen i en unntatt blokk. Når koden bryter inne i en prøveblokk, stopper den vanlige kodestrømmen, og kontrollen blir byttet til unntaksblokken for å håndtere feilen.

Les Også-Lær Python Unntakshåndtering fra Bunnen av.

Hvorfor Bruke Try-Except / Try-Except-else Klausul? Med hjelp av try-except og try-except-else, kan du unngå mange ukjente problemer som kan oppstå fra koden din. For Eksempel Kan Python-koden ved HJELP AV LBYL (Look before you leap) stil føre til raseforhold. Her kan try-except-klausulen komme for å redde deg. Det er også tilfeller der koden din avhenger kritisk av noe informasjon som kan bli utdatert til den tiden du mottar den. For eksempel koden ringer til os.bane.eksisterer Eller Kø.full kan mislykkes da disse funksjonene kan returnere data som blir foreldet når du bruker den. Det klokere valget her ville være å følge try-except-else-stilen i koden din for å håndtere de ovennevnte tilfellene mer pålitelig.

Å Heve unntak er også tillatt I Python. Det betyr at du kan kaste eller heve et unntak når det trengs. Du kan gjøre det ved å ringe fra koden din. Når hevet, vil unntaket stoppe gjeldende utførelse som vanlig, og vil gå lenger opp i anrops stakken før håndteres.

Hvorfor Bruke Unntak? De hjelper ikke bare med å løse populære problemer som raseforhold, men er også svært nyttige for å kontrollere feil i områder som looper, filhåndtering, databasekommunikasjon, nettverkstilgang og så videre.

Derfor vil vi dekke bredere problemer og gi løsninger i dette innlegget. Vær oppmerksom på at unntakshåndtering er en kunst som gir deg enorme krefter til å skrive robust og kvalitetskode. Så, brace å lese noen keynotes på unntak sammen med de beste måtene å håndtere dem.

Må Lese-Alt Du Bør Vite Om Python Copy File .

Python:

Hvordan Du Best Bruker Prøve-Unntatt I Python
Hvordan Du Best Bruker Prøve-Unntatt I Python
  • hvordan håndtere et vilkårlig Unntak
  • Fang Flere unntak i en unntatt blokk
  • håndtering av flere unntak med en unntatt blokk
  • re-raising unntak i python
  • Når du skal bruke else-klausulen
  • Gjør bruk av
  • bruk as-søkeordet for å fange Bestemte Unntakstyper
  • beste praksis for manuelt å heve unntak
  • hvordan hoppe gjennom feil og fortsette kjøring
  • Vanligste unntaksfeil I Python
  • Eksempler på de vanligste unntakene I Python

1. Hvordan håndtere et vilkårlig unntak

Noen ganger kan det hende du trenger en måte å tillate vilkårlig unntak på, og du vil også kunne vise feil-eller unntaksmeldingen.

det er lett oppnåelig ved Hjelp Av Python unntak. Sjekk koden nedenfor. Mens du tester, kan du plassere koden inne i prøveblokken i eksemplet nedenfor.

try: #your codeexcept Exception as ex: print(ex)

Tilbake til toppen

2. Fang flere unntak i en unntatt blokk

Du kan fange flere unntak i en enkelt unntatt blokk. Se eksemplet nedenfor.

except (Exception1, Exception2) as e: pass

vær oppmerksom på at du kan skille unntakene fra variabelen med et komma som gjelder I Python 2.6/2.7. Men Du kan ikke gjøre Det i Python 3. Så, bør du foretrekker å bruke søkeordet.

Tilbake til toppen

3. Håndtering av flere unntak med en unntatt blokk

det er mange måter å håndtere flere unntak på. Den første av dem krever å plassere alle unntakene som sannsynligvis vil forekomme i form av en tuple. Vennligst se nedenfra.

try: file = open('input-file', 'open mode')except (IOError, EOFError) as e: print("Testing multiple exceptions. {}".format(e.args))

den neste metoden er å håndtere hvert unntak i en dedikert unntatt blokk. Du kan legge til så mange unntatt blokker etter behov. Se eksemplet nedenfor.

try: file = open('input-file', 'open mode')except EOFError as ex: print("Caught the EOF error.") raise exexcept IOError as e: print("Caught the I/O error.") raise ex

sist men ikke minst er å bruke except uten å nevne noen unntaksattributt.

try: file = open('input-file', 'open mode')except: # In case of any unhandled error, throw it away raise

denne metoden kan være nyttig Hvis du ikke har noen anelse om unntaket muligens kastet av programmet.

Tilbake til toppen

4. Re-raising unntak I Python

Unntak en gang hevet fortsett å bevege seg opp til anropsmetodene til de håndteres. Selv om du kan legge til en unntatt klausul som bare kunne ringe uten noe argument. Det vil resultere i reaising unntaket.

se eksempelkoden nedenfor.

try: # Intentionally raise an exception. raise Exception('I learn Python!')except: print("Entered in except.") # Re-raise the exception. raise

Utgang:

Entered in except.Traceback (most recent call last): File "python", line 3, in <module>Exception: I learn Python!

Tilbake til toppen

5. Når skal du bruke else-klausulen

Bruk en else-klausul rett etter try-except-blokken. Den andre klausulen vil bli rammet bare hvis ingen unntak er kastet. Den andre setningen bør alltid gå foran de unntatt blokkene.

i andre blokker kan du legge til kode som du ønsker å kjøre når det ikke oppstod feil.

se eksemplet nedenfor. I denne prøven kan du se en stund loop kjører uendelig. Koden ber om brukerinngang og analyserer den ved hjelp av den innebygde funksjonen. Hvis brukeren går inn i en nullverdi, vil den unntatte blokken bli rammet. Ellers vil koden strømme gjennom else-blokken.

while True: # Enter integer value from the console. x = int(input()) # Divide 1 by x to test error cases try: result = 1 / x except: print("Error case") exit(0) else: print("Pass case") exit(1)

Tilbake til toppen

6. Gjør bruk av

hvis du har en kode som du vil kjøre i alle situasjoner, skriv den inn i . Python vil alltid kjore instruksjonene kodet i den . Det er den vanligste måten å gjøre rydde opp oppgaver. Du kan også sørge for at rydde opp kommer gjennom.

en feil oppdages av try-klausulen. Etter at koden i unntatt blokk blir utført, vil instruksjonene i løpe.

vær oppmerksom på at a alltid vil kjøre, selv om du har returnert foran den.

se eksemplet nedenfor.

try: # Intentionally raise an error. x = 1 / 0except: # Except clause: print("Error occurred")finally: # Finally clause: print("The is hit")

Utgang:

Error occurredThe is hit

Tilbake til toppen

7. Bruk as-nøkkelordet for å fange bestemte unntakstyper

ved hjelp av as<identifier > kan du opprette et nytt objekt. Og du kan også unntaksobjektet. Her, eksemplet nedenfor, lager vi IOError-objektet og bruker det i klausulen.

try: # Intentionally raise an error. f = open("no-file")except IOError as err: # Creating IOError instance for book keeping. print("Error:", err) print("Code:", err.errno)

Utgang:

('Error:', IOError(2, 'No such file or directory'))('Code:', 2)

Tilbake til toppen

8. Beste praksis for manuelt å heve unntak

Unngå å heve generiske unntak fordi hvis du gjør det, må alle andre mer spesifikke unntak også fanges. Derfor er den beste praksis å heve det mest spesifikke unntaket nær problemet ditt.

Dårlig eksempel.

def bad_exception(): try: raise ValueError('Intentional - do not want this to get caught') raise Exception('Exception to be handled') except Exception as error: print('Inside the except block: ' + repr(error)) bad_exception()

Utgang:

Inside the except block: ValueError('Intentional - do not want this to get caught',)

Beste Praksis:

Her hever vi en bestemt type unntak, ikke en generisk. Og vi bruker også args-alternativet til å skrive ut feil argumenter hvis det er noen. La oss se eksemplet nedenfor.

try: raise ValueError('Testing exceptions: The input is in incorrect order', 'one', 'two', 'four') except ValueError as err: print(err.args)

Utgang:

('Testing exceptions: The input is in incorrect order', 'one', 'two', 'four')

Tilbake til toppen

9. Slik hopper du gjennom feil og fortsetter kjøring

Ideelt sett bør du ikke gjøre dette. Men hvis du fortsatt vil gjøre, følg deretter koden nedenfor for å sjekke ut riktig tilnærming.

try: assert Falseexcept AssertionError: passprint('Welcome to Prometheus!!!')

Output:

Welcome to Prometheus!!!

Tilbake til toppen

ta en titt på noen av De vanligste Python-unntakene og eksemplene deres.

Vanligste unntaksfeil

  • IOError – det oppstår på feil som en fil ikke åpnes.
  • ImportError – hvis en python-modul ikke kan lastes eller plasseres.
  • ValueError – det oppstår hvis en funksjon får et argument av riktig type, men en upassende verdi.Kontroll-C eller del-tasten)
  • EOFError – det blir hevet hvis input funksjoner (input ()/raw_input ()) treffer en end-of-fil tilstand (EOF), men uten å lese noen data.

Tilbake til toppen

Eksempler på de vanligste unntakene

except IOError:print('Error occurred while opening the file.')except ValueError:print('Non-numeric input detected.')except ImportError:print('Unable to locate the module.')except EOFError:print('Identified EOF error.')except KeyboardInterrupt:print('Wrong keyboard input.')except:print('An error occurred.')

Tilbake til toppen

Sammendrag-Hvordan Du Best Bruker Prøve-Unntatt I Python

under programmering, er feil bundet til å skje. Det er et faktum som ingen kan ignorere. Og det kan være mange grunner til feil som dårlig brukerinngang, utilstrekkelig filtillatelse, utilgjengelighet av en nettverksressurs, utilstrekkelig minne eller mest sannsynlig programmørens feil.Uansett kan alt dette håndteres hvis koden din bruker unntakshåndtering og implementerer den med konstruksjoner som try-except, eller tr-except-else, try-except-endelig. Håper du ville ha likt å lese opplæringen ovenfor.

hvis du likte innlegget, så ikke gå glipp av å dele den med venner og på sosiale medier (facebook/twitter).

Beste,
TechBeamers.



Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.