Tipi di errore in Python

Tipi di errore in Python
I programmatori, in particolare i programmatori alle prime armi, tendono a riscontrare errori. Un errore nel codice impedisce al codice di funzionare completamente correttamente o nel modo previsto. In particolare, gli errori lanciati da Python rientrano in una delle tre categorie: errori di sintassi, errori di runtime o errori logici. In questo tutorial, impareremo i diversi tipi di errori che Python può lanciare.

Errori di sintassi

Un errore di sintassi o un errore di analisi è un tipo di errore che viene lanciato quando Python non capisce bene cosa stai cercando di dire. Dobbiamo comunicare all'interprete di Python ciò che vogliamo dire molto come la lingua parlata. Ad esempio, potresti voler dire buon compleanno al tuo amico. Ma se falli la parola felice e invece dimentichi di scrivere la H e la Y, allora la parola è fraintesa o anche peggio, non può essere elaborato. Allo stesso modo, Python viene fornito con una serie di regole molto rigide e parole. Quando infrangi le regole o scrivi le parole con un errore, l'interprete di Python semplicemente non riesce a capire cosa stai cercando di dire, e lancerà un errore di sintassi. Questo errore può essere semplicemente risolto esaminando la sintassi e risolvendola in modo che sia effettivamente rispettato la regola impostata da Python.

Esempio n. 1: sintassi dimenticati

principale.Py
nome = "Qual è il tuo nome? "
Se il nome != "Linux"
Stampa (nome "ciao % s" %)

Produzione:

File "C: \ Users \ Kalya \ PyCharmProjects \ PythonProject \ Main.Py ", linea 3
Se il nome != "Linux"
^
Sintaxerror: previsto ':'
Processo terminato con il codice di uscita 1

Questo è di gran lunga l'esempio più semplice di un errore di sintassi. Le regole di Python affermano che ci deve essere un colon alla fine della dichiarazione IF, e qui l'abbiamo semplicemente omesso. Questo da solo ha rovinato Python - non capisce cosa gli stai chiedendo di fare. Quindi, la semplice soluzione è aggiungere un colon alla fine dell'istruzione IF. E stranamente, ti dirà cosa c'è che non va e come risolverlo. In questo caso, dice "previsto:". Quindi, ti sta dicendo che spera per un colon lì.

Esempio n. 2: sintassi errata

principale.Py
perché io im gamma (5):
Stampa (i)

Produzione:

File "C: \ Users \ Kalya \ PyCharmProjects \ PythonProject \ Main.py ", linea 1
perché io im gamma (5):
^^
Sintaxerror: sintassi non valida
Processo terminato con il codice di uscita 1

Qui, ho scritto che sono invece in. Quindi, ha lanciato un errore di sintassi perché la parola usata è sbagliata. In Python, una serie di parole sono parole speciali e hanno già significati definiti da pipì. Quando usi una parola che non si trova all'interno di quel set, non la riconosce e va eh?

Esempio n. 3: parentesi mancanti o sbagliate

principale.Py
Dizionario = ['Jim': 24, 'Jenny': 23, 'Jack': 30]
Stampa (Dizionario)

Produzione:

File "C: \ Users \ Kalya \ PyCharmProjects \ PythonProject \ Main.py ", linea 1
Dizionario = ['Jim': 24, 'Jenny': 23, 'Jack': 30]
^
Sintaxerror: sintassi non valida
Processo terminato con il codice di uscita 1

In questo caso, stiamo legando per usare un dizionario in Python. Ma non abbiamo usato le parentesi graffe e invece abbiamo usato le parentesi graffe che portano a un errore. Secondo le regole, a Python, per un dizionario, usiamo le parentesi graffe.

Errori di runtime

Potresti ottenere un errore anche se non hai commesso errori di sintassi. Quando l'errore si verifica durante l'esecuzione del codice, è anche noto come eccezione o errore di runtime. Quindi, inizi a scrivere il codice e inizia a eseguire senza problemi. Ma a metà strada, si ferma e dice che c'è un errore - questa si chiama eccezione.

Esempio n. 1: tentare di dividere una stringa per un numero intero

principale.Py
name = 'LinuxHint'
età = 24
totale = nome / età
Stampa (totale)

Produzione:

File "C: \ Users \ Kalya \ PyCharmProjects \ PythonProject \ Main.py ", linea 4, in
totale = nome / età
TAYEERROR: tipo (S) operativo non supportato per /: "STR" e "int"
Processo terminato con il codice di uscita 1

Qui, stiamo tentando di dividere una stringa per un numero intero, e questo si chiama eccezione o un errore di runtime.

Esempio n. 2: tentativo di accedere a un file che non esiste

principale.Py
f = open ('file.txt ',' r ')
Stampa (f.Leggere())

Produzione:

File "C: \ Users \ Kalya \ PyCharmProjects \ PythonProject \ Main.py ", riga 1, in
f = open ('file.txt ',' r ')
FileNotfounderror: [errno 2] Nessun file o directory: 'file.TXT'
Processo terminato con il codice di uscita 1

In questo caso, stiamo indicando un file che non esiste. Quindi, il programma esegue ma termina presto con un messaggio di errore di runtime perché non può individuare quel file.

Errori logici

A differenza di un errore di sintassi o di un errore di runtime, l'errore logico è molto più difficile da individuare. È anche molto più difficile da affrontare. Quindi, Python non si bloccherà e non visualizzerà nemmeno messaggi di errore. In questo caso, il programma verrà eseguito e ci darà un risultato. Ma il risultato sarà errato. Quindi, dov'è l'errore? Nella logica del programmatore.

Esempio n. 1: errore logico

principale.Py
x = 5
y = 6
z = x+y/2
Stampa ("La media di %f e %f è %f" %(x, y, z))

Produzione:

La media di 5.000000 e 6.000000 è 8.000000
Processo finito con il codice di uscita 0

Qui, la media di 5 e 6 non è 8! Quindi qui il codice viene eseguito e ridotto un risultato. Ma il principiante si sedeva lì e si grattava la testa perché i risultati sono sbagliati.

Esempio n. 2: errore logico

principale.Py
Dizionario = 'Jim': 24, 'Jack': 45, 'John': 60
per membro nel dizionario:
Age = Dizionario [Membro]
Se età < 40:
stampa ("hai 40 anni o più. Puoi inserire questo sito.")
altro:
Stampa ("Sei troppo giovane per entrare in questo sito")

Produzione:

Hai 40 anni o più. Puoi inserire questo sito.
Sei troppo giovane per entrare in questo sito
Sei troppo giovane per entrare in questo sito
Processo finito con il codice di uscita 0

Il motivo di questo codice è di escludere coloro che hanno meno di 40 anni dal sito Web. Ma come avrete notato, il programmatore ha inserito un segno meno che un segno più grande del segno dopo l'età (età <40). Both Jack and John are older than 40 but the program says that they are too young to enter this site. Jim who is 24 is allowed because it thinks that he's older than 40. This is a logical problem. It can be solved by changing the greater than/less than sign.

In Python, tutti gli errori che otterrai possono essere classificati in tre gruppi: sintassi, runtime/eccezione o errori logici. Sia la sintassi che l'errore di runtime farà schiantare Python. In genere visualizzerà un messaggio che ti consente di risolvere il problema e dove si trova il problema. Questo non è il caso di un errore logico. Un errore logico non fa sì che Python si schiantasse, ma piuttosto elimina i risultati che sono completamente e completamente sbagliati. Quindi, dei tre errori logici sono i più difficili da affrontare perché non sappiamo dove si trova l'errore.