Sporkode i Python

Sporkode i Python
Python skriver ut en sporingskode mens koden vår gir et unntak. En spormekode er ofte i tillegg kjent som en traceback, eller backtrace. Likevel velger vi bruken av stabelsporet. Sporkoden kan virke ødeleggende mens vi ser dette for den primære tiden.

Skjønt, Python Trace Code har ganske mange verdsatte data som lar oss bli klar over grunnlaget for problemet. Å forstå hvilke fakta et python -spor gir er avgjørende for å bli til en høyere Python -programmerer.

Videre skriver en sporkode ut alle samtalene som går foran metoden som gir et unntak. I alle situasjoner skriver lukkelinjen til en sporingskode de maksimale verdsatte dataene som her er feilen skrevet ut. I denne artikkelen diskuterte vi sporingskoder i Python.

NameError:

En spormekode består av metoden samtaler gjennom koden vår som går foran feilen som skjer. Når programmet gir et unntak, skriver det ut sporkoden. Under er et eksempel på Python som vil gi et unntak. Vi får NameError i output hvis vi inneholder referert til en variabel, klasse, metode eller noen få forskjellige samtaler som ikke er beskrevet i koden vår.

def si (alder):
trykk ('Hei,' + ag)
si ('24 ')

I denne koden, si () -funksjonen inneholder et argument fra 'alder'. Men vi gjorde en feil ved hjelp av å bruke feil variabel i setningen (). Som vi kunne se, nevner vi 'AG' i stedet for 'alder. Når vi utfører denne koden, gir den oss denne stacksporet:

Denne utgangen viser hva slags feil som har skjedd: NameError. Denne typen unntak sier at vi i denne koden har nevnt en variabel som ikke presenterer. Når vi undersøker videre, vil det gi oss beskjed om hvilken variabel vi forsøkte å nevne.

Her er 'AG' ikke godt definert. Totalt sett uttrykker dette unntaket for oss at en klasse, variabel eller funksjon har blitt referert falskt.

Attributt:

Attributtet er forhøyet mens vi prøver å få et attributt på et element som ikke inneholder den bestemte attributtet. Vi kommer til å se i programmet hvordan vi får denne typen unntak.

a_num = 6
a_num.Hania

Etter å ha utført koden, vil den gi en attributt når vi ønsker å få et attributt 'Hania' av objektet 'int'. Men her inneholder ikke 'objekt ikke det definerte attributtet' Hania '.

Attributtror viser oss at den aktuelle varen, int i denne situasjonen, ikke inneholder attributtet hentet, 'Hania'. Få attributtet i utdataene, la oss raskt bli klar over hvilket attributt vi prøvde å skaffe og i hvilken tilstand vi fikser denne feilen.

Denne feilmeldingen informerer oss om at det ikke er noen 'Hania' attributt i det beskrevne elementet. Uttalelsen inkluderer praktisk talt et heltall. Det er ikke en uvanlig feil, da vi antar en særegen art for varen vi opererer med.

Importerror:

Vi får importerror mens noe går feil med en importklæring. Vi vil få dette unntaket modulenotfoundererror, hvis elementet vi prøver å importere ikke kan lokaliseres, eller i tilfelle vi prøver å introdusere noe fra en komponent som ikke presenterer innenfor den definerte modulen.

Importer lmn

I dette eksemplet oppnås importerror ved å importere den modulen som ikke eksisterer.

Her prøver vi å introdusere en modul som ikke forekommer, 'LMN' konsekvenser i ModulenotFoundError. Når du prøver å importere et element eller komponent som ikke presenterer 'LMN' fra en enhet som oppstår, resulterer dette i en importørror. Så 'lmn' ville ikke bli importert.

Syntaksfeil:

Denne feilen reises hvis vi har feil Python -syntaks for koden vår. SyntaxError oppstår på grunn av mangel på kolon etter å ha definert funksjonen. Nedenfor savner vi en kolon i denne koden som må være ved avslutning av linjen som definerer funksjonen.

Def si (nummer)
trykk ('Hei,' + nummer)
si ('345676')

Når vi trykker på Enter -knappen, får vi denne syntaksfeilen. Som vi kunne legge merke til, peker ^ -skiltet til hvor problemet skjedde. Her antyder det at noen få syntaks mangler avslutning av å definere funksjonen.

Her mangler tykktarmen fra definisjonen av funksjonen. Men det informerer oss ikke nøyaktig hva som er feil med syntaks. På grunn av SyntaxError blir ikke kodelinjene utført.

Hvordan håndtere unntak i Python?

Et unntak er en feil som kastes ved hjelp av programmet mens det implementeres. Heldigvis kan vi takle unntakene av dem på et eller annet tidspunkt i implementeringen av programmet, slik at kodene ikke smash.

Når vi får et unntak, bryter det gjeldende kodeimplementering og uten forsinkelse gir unntaket i utgangen. Nå ønsker vi å skrive ned programmet for å løse unntak. La oss sjekke attributtforekomsten.

Importer Sys
prøve:
a_num = 6
a_num.Hania
Bortsett fra attributt:
Print ("Feil: Eiendom eksisterer ikke")
sys.exit()

For å ta det utover unntaket, vil vi bruke prøve-unntaksprosedyren som slipper inn for å gripe fritaket. La oss endre programmet for første forsøk. I tilfelle programmet mislykkes, må vi ta opp fritaket.

Hvis koden kaster et unntak, må vi ta opp unntaket. Så vi velger å skrive ut en tekst som koden blir avsluttet. Likevel, hvis vi ikke vil avslutte programmet. Vi kan takle feilen og komme i kontakt med en funksjon en gang til eller rette den feilen til brukeren uten å avslutte koden.

Konklusjon

Python Trace Code inneholder forskjellige fakta som lar oss finne det som går feil til Python -koden. Tracebacks kan fremstå som utilnærmelige, men etter at vi krasjet den helt ned for å se hva det prøver å røpe for oss, kan de være usedvanlig gunstige.

Å gå via noen sporingskodelinjer vil gi oss kunnskap om detaljene de utgjør og hjelper oss med å få maksimalt ut av dem. Å få en Python Trace -utgang mens vi utfører koden er en mulighet for å forbedre koden vår. I Python ved sporing.