Python Assertionerror

Python Assertionerror
Quando un programma Python incontra una condizione inaspettata durante l'esecuzione, il programma interrompe l'esecuzione e restituisce un'eccezione. In Python, le eccezioni e gli errori di sintassi sono le due principali categorie di errori. Quando un pezzo di codice Python che è sintatticamente valido crea un errore, è noto come sollevare un'eccezione/errore. Il messaggio di errore nell'ultima riga definisce il tipo di eccezione precisa e fornisce una descrizione per aiutare il debug e una freccia indica la linea o la posizione in cui si è verificata l'eccezione. Catturare e gestire le eccezioni è fondamentale per evitare un improvviso programma di programma. Usa un modo diverso per eseguire il codice. Ad esempio, quando si verifica l'eccezione specificata. Questo tutorial discuterà dell'asserzione e come puoi risolverlo in Python.

Cos'è un assertionerror in Python?

Gli errori di asserzione sono un concetto di programmazione che si verifica quando un programmatore scrive o crea un blocco di codice utilizzato per dichiarare un criterio o una condizione da soddisfare prima che il modulo venga eseguito. Come ogni errore di Python, il controllo viene trasferito nella successiva riga di codice se la condizione specificata quando l'asserzione è stata dichiarata vera. Se è falso, d'altra parte, viene sollevato un errore o un'eccezione e il programma viene interrotto. L'istruzione Assert può essere utilizzata in vari linguaggi di programmazione con le loro sintassi specifiche perché è indipendente dal linguaggio. È una sottoclasse o un'istanza della classe di eccezione. Python AssertionError ha la seguente sintassi:

Sintassi: ASSERT CONDIZIONE, ERROR_MESSAGE (opzionale)

Esempio

Entreremo come input di una persona come input e se è inferiore a zero, la console aumenterà un errore di asserzione.

Ora, cosa succede se entriamo con un'età inferiore a 0?

Il debug del codice utilizzando questo metodo è più semplice, rendendo così più semplice trovare errori e correggere i bug nel programma.

Come funziona AssertionError in Python

Il linguaggio Python include un'istruzione Assert che può essere utilizzata per generare semplici output di messaggi di errore con asserzioni logiche. Quando la dichiarazione di asserzione non riesce, viene sollevata un'asserzione "eccezione". In Python, le classi di eccezione sono derivate dalla classe Baseexception. La classe Baseexception, che è anche la classe base della classe Assertionerror, è da dove deriva la classe di eccezione. Dovrebbe esserci sempre un codice di gestione delle eccezioni appropriato per gestire il fallimento di un'istruzione Assert ogni volta che viene utilizzata. Il gestore delle eccezioni predefinito in Python stamperà il messaggio di errore scritto dal programmatore, ma l'errore può anche essere gestito o risolto senza un messaggio di errore.

Implementazione di AssertionError in Python

Di seguito sono riportati diversi esempi di assertionerror in Python:

Esempio

In questo esempio, scriveremo un programma Python per visualizzare un Assertionerror in un programma che trova l'area di un cerchio.

Il valore "R" del raggio viene passato come input a una funzione nel programma precedente che viene creata per trovare l'area del cerchio. L'istruzione Assert viene quindi utilizzata per determinare se il valore fornito o il raggio "R" è inferiore allo zero e se viene fornito un valore negativo, verrà sollevata un'eccezione. L'area del cerchio verrà restituita in base al valore del raggio "R" fornito alla funzione. Innanzitutto, la funzione viene eseguita con un valore di R come 3. La funzione viene quindi eseguita con il valore 2.5. L'asserzione viene raccolta quando utilizziamo un valore negativo di "r", i.e., "-1".

Proviamo un altro esempio per visualizzare il verificarsi di un errore di asserzione.

Esempio

In questo esempio, il programma determinerà se il valore del denominatore è diverso da zero.

Il messaggio di errore dell'errore di asserzione viene visualizzato nel programma precedente. Abbiamo creato due variabili (a e b) e i valori interi specificano le variabili. La seconda variabile, i.e., B viene quindi testato per vedere se non è uguale a 0 usando l'istruzione Assert. Altrimenti specificato, il messaggio di errore viene stampato. In caso contrario, viene visualizzato il risultato della divisione del primo numero per il secondo valore. Nell'immagine precedente, viene visualizzato l'output del programma.

Applicazioni di AssertionError

Gli altri usi benefici dell'errore di asserzione includono:

  • L'asserzione aiuta a valutare i valori dei parametri
  • Le asserzioni aiutano a monitorare il tipo di input e se quel valore è valido
  • Inoltre, le asserzioni aiutano a identificare se un altro sviluppatore di codice sta abusando di un'interfaccia
  • Le asserzioni aiutano a monitorare continuamente l'output del programma

Come possiamo evitare gli errori di asserzione in Python

  1. La bandiera -o in un programma Python può essere utilizzata per disabilitare ogni dichiarazione di asserzione. È importante tenere presente che le dichiarazioni che vengono dopo una dichiarazione di asserzione non saranno eseguite se disabilitiamo le dichiarazioni di asserzione.
  2. La variabile di ambiente può anche impostare un flag per disattivare le dichiarazioni di asserzione. Tutti i processi e le applicazioni che utilizzano o ereditano l'ambiente sono influenzati in questa situazione.
  3. In Python, l'approccio più semplice per prevenire gli errori di asserzione è gestirli manualmente. Se ci assicuriamo che il flusso di controllo del programma venga deviato in modo che non acceda alle dichiarazioni di assistenza, allora non vi è alcuna possibilità di errori di asserzione.

Gestione dell'asserzione

Oltre alla dichiarazione di asserzione, possiamo anche gestire l'errore di asserzione usando i seguenti metodi:

Gestione dell'errore di asserzione utilizzando i blocchi di prova eccesso

L'istruzione Assert determina se i valori sono uguali. Il blocco di prova solleva l'errore AssertionError perché questi numeri interi non sono uguali. Il comando di stampa viene eseguito dopo che il blocco tranne ha preso l'eccezione. Qui, viene visualizzata l'output dell'istruzione di stampa dal blocco di eccezione. La parola chiave di allevamento può essere utilizzata per eseguire l'errore nel blocco tranne in modo da poter determinare la sorgente dell'eccezione. Quando si verifica un'eccezione, la parola chiave "sollevare" aumenterà un errore e terminerà il programma. Aiuta a mantenere o mantenere un record/traccia dell'eccezione esistente.

Gestione di AssertionError usando il modulo Traceback

Quando il codice contiene diverse istruzioni di assert, il modulo Traceback aiuta a identificare l'origine esatta dell'errore.

Usando il modulo Traceback, la nostra istruzione di stampa può essere scritta con segnaposto .

Inoltre, possiamo definire altre variabili per archiviare la posizione della linea, il nome del file, il nome del metodo, nonché il testo/messaggio in cui si è verificata l'eccezione.

L'oggetto Traceback viene definito "TB". Usiamo due segnaposto: uno per il testo e uno per la posizione della riga nell'istruzione di stampa.

I tre componenti dell'affermazione "aumenta" - Exc_type, Exc_traceback e Exc_value - vengono restituiti dal sistema.funzione Exc_info ().

Gestire l'asserzione utilizzando l'istruzione di stampa

Per gestire manualmente un'eccezione, possiamo utilizzare l'istruzione "stampa" all'interno del blocco tranne.

L'istruzione di stampa stampa qualsiasi messaggio di errore che l'utente inserisce. Con questo metodo, un errore tecnico non sarà preoccupante per l'utente.

Invece di un errore, viene visualizzato un breve messaggio.

Conclusione

In questo post, abbiamo visto per la prima volta l'introduzione di eccezioni in Python. Abbiamo discusso di AssertionError, come funziona e come possiamo implementare AssertionError in Python. Abbiamo spiegato diversi vantaggi dell'asserzione e come possiamo evitarli. Nell'ultima sezione di questo post, abbiamo visto come possiamo gestire l'assertionerror in Python usando i blocchi Try-Except, il modulo Traceback e l'istruzione di stampa.