Innenfor sine biblioteker, inneholder Python koden for å heve feil og stanse gjennomføringen av koden . Feilene som Python ser etter er vanligvis typiske feil som blir gjort av programmerere , eller feil som kan true sikkerheten til koden . En av disse, TypeError sikrer at riktig type informasjon blir brukt for prosessen henrettet . Hvis tolken finner feil type data i en linje med kode , vil det stoppe programmet. For å forstå en TypeError , er det viktig å forstå feil, datatyper og operasjoner. Feil
feil i Python , som mange programmeringsspråk , går under navnet " Unntak ". Disse unntakene advare tolken at en feil har oppstått. Når et unntak heves (eller "kastet ") , kan en av to ting skje : Enten vil programmet krasje , eller programmerer vil ha satt opp feilhåndtering kode for å "fange" feilen og ta umiddelbar handling basert på sin forekomst . I begge tilfeller avhenger av type unntak kastet på type feil som skjer .
TypeError
Programmerere kan kalle opp en TypeError unntak ved bruk av feil datatype for en beregning. TypeError unntak hovedsak si at den aktuelle operasjonen ikke kan skje ved hjelp av tilgjengelige typer data . Eksemplet nedenfor virker riktig fordi Python definerer et tillegg operasjon som involverer to forskjellige strenger : en
>>> x = " streng1 " + " string2 "
Imidlertid vil følgende eksempel kaste et unntak , fordi Python ikke kan legge til et heltall og en streng : en
>>> x = 1 + " streng1 "
Forebygge TypeError
en programmerer kan hindre en TypeError ved å sjekke typer før du bruker variabler . Dette krever bruk av Python introspektive evner. Ved å bruke " type" -funksjonen , kan en programmerer sjekke hvilken type data som finnes i en variabel . Hvis dataene ikke er i samsvar med de typene som kreves , kan programmereren tvinge variabelen for å endre til en annen type : en
>>> x = " tre"
>> > type ( x )
Fordi x er en " str ", kan programmereren kreve at inngangen endres til et heltall , eller til noe annet helt.
Catching TypeError
en annen måte å hindre at programmet krasjer er å skape unntaksbehandlerne i tilfelle av en TypeError hendelse, som i følgende eksempel ( husk å bruke riktig Python innrykk etter " prøve" og " unntatt" utsagn ) : en
x = 2
y = " tre"
prøve : en
x + y
unntatt Feiltype : en
y = 3
print y
Legge "2" og "Tre" vil kaste en TypeError . Men fanger " unntatt " statement TypeError og endringer y til et heltall , som programmet kan trygt legge til variabel x .