En mentionnant débogage, cela signifie qu'il peut y avoir un punaise au milieu. Eh bien, je ne veux pas dire un bug que l'on pourrait trouver dans une maison, mais un bug de programmation!
Avant d'aller plus loin avec ce tutoriel, voyons quelques termes. Définissons brièvement ce que nous entendons par punaise et débogage.
Un bug informatique pourrait survenir à la fois dans les logiciels et dans le matériel, mais nous nous concentrons ici sur les logiciels. Permettez-moi de mentionner rapidement une croyance sur où le terme punaise aurait pu provenir. On pense que la première utilisation du terme punaise en informatique était quand un réal Un bug (papillon de nuit) a été trouvé dans l’un des relais de l’ordinateur Mark II. Le terme punaise a également été utilisé à la fin du 19ème siècle pour décrire des problèmes techniques.
Les bogues logiciels provoquent un comportement inattendu du programme. C’est un terme couramment utilisé pour désigner un Erreur avec un emplacement et une raison inconnus, et ils peuvent causer des problèmes graves (par exemple, le crash d’un programme).
Dans cette situation, débogage entre en jeu.
Eh bien, on peut dire que le meilleur moyen d'éviter tout problème est de ne pas générer de bugs en premier lieu. Mais c'est malheureusement assez rare et il n'est pas facile de générer un programme propre dès le début. Avoir des insectes est une situation normale dans laquelle vous tomberiez.
Débogage est le processus de localisation, d’analyse et de correction de tout bogue (erreur) que vous pourriez rencontrer. Le but ultime du débogage est de supprimer ces bogues et de produire un programme qui s'exécute et se comporte comme prévu. Il est important de noter ici que la plupart du temps sera consacré à la localisation du bogue car, comme nous l’avons mentionné ci-dessus, il a été localisé à l’origine..
Pour avoir une idée de la difficulté du débogage, voyez ce que Brian W. Kernighan avait à dire:
Tout le monde sait que déboguer est deux fois plus difficile que d'écrire un programme. Donc, si vous êtes aussi intelligent que vous le pouvez lorsque vous l'écrivez, comment allez-vous le déboguer??
Un exception est un objet qui indique que nous avons un bug (erreur). En d'autres termes, Python utilise des exceptions afin de signaler l'existence de bogues dans le programme. Ce serait le localisation partie du processus de débogage. Recevoir l'objet exception et effectuer les actions nécessaires pour traiter le bogue fait référence à manipulation l'éxéption. Ce serait le en cours d'analyse et corriger étapes du processus de débogage.
De python essayer
instruction est utilisée pour la gestion des exceptions et se présente sous deux formes: essayer / sauf
et essayer / enfin
. Dans le premier cas, le essayer
clause peut être suivie d'un ou de plusieurs sauf
clauses, alors que dans ce dernier cas, il ne peut être suivi que d'un seul enfin
clause.
le essayer / sauf
La syntaxe est la suivante:
try: # essayez le code de bloc sauf: # sauf le code de bloc
Le corps du essayer
La clause contiendra du code susceptible de générer une exception, à condition que si une exception est générée, toutes les instructions du bloc sont ignorées. D'autre part, le corps de la sauf
la clause est appelée la gestionnaire d'exception, comme il est utilisé pour attraper l'exception. le sauf
Le code de bloc ne sera exécuté que si une exception a été générée, sinon le bloc sera sauté. Vous pouvez utiliser les exceptions intégrées, comme indiqué dans la bibliothèque Python Standard..
Prenons un exemple pour clarifier les choses. Supposons qu'on nous demande d'entrer un dénominateur dans une formule de division. Puisque la division par zéro n’est pas autorisée, écrivons un essayer / sauf
instruction qui vérifie s'il y a une division par zéro et affiche un message si cette erreur se produit.
dénominateur = entrée ('Entrez une valeur de dénominateur:') essayez: formula = 15 / dénominateur print 'Le résultat est' + str (formule) sauf ZeroDivisionError: print 'Vous avez tenté de diviser par zéro, ce qui n'est pas autorisé.
Si vous entrez la valeur 5
, par exemple, vous obtiendrez le résultat suivant:
Le résultat est 3
Maintenant, essayez d'entrer la valeur 0
en entrée. Quelle sortie obtiendrez-vous dans ce cas?
essayer / enfin
est un autre moyen d'écrire l'instruction try en Python. enfin
les clauses sont appelées nettoyage / résiliation clauses car elles doivent toujours être exécutées, qu’une exception se produise ou non essayer
bloc.
Essayons l'exemple dans la section ci-dessus, mais avec le enfin
clause:
dénominateur = entrée ('Entrez une valeur de dénominateur:') essayez: formule = 15 / dénominateur print 'Le résultat est' + str (formule) finally: print 'Vous avez tenté de diviser par zéro, ce qui n'est pas autorisé'
Notez que lorsque vous entrez la valeur 5
en entrée, par exemple, vous obtiendrez le résultat suivant:
Le résultat est 3 Vous avez tenté de diviser par zéro, ce qui n'est pas autorisé
le élever
mot-clé est un autre moyen de gérer les exceptions en Python. Dans ce cas, vous pourrez créer vos propres exceptions, c'est-à-dire des exceptions qui sont générées lorsqu'un problème ne se situant pas dans le champ des erreurs attendues se produit..
Regardons un exemple d'utilisation de la élever
mot clé pour mieux comprendre le concept.
try: x = input ('Entrez un nombre compris entre 1 et 10:') si x<1 or x>10: augmenter l'exception print 'Great! Vous m'avez écouté et avez entré un numéro valide 'sauf: print' Votre numéro semble être en dehors de la plage 1-10 '
Dans cet exemple, si vous entrez un nombre en dehors de la plage autorisée, le impression
déclaration dans le sauf
le bloc sera exécuté.
Allez-y, essayez quelques valeurs et vérifiez le résultat.
De python retraçage
module est un autre moyen de gérer les exceptions en Python. Il est essentiellement utilisé pour imprimer les traces de pile d'un programme après qu'une exception se soit produite. le retraçage
contient le message d'erreur, le numéro de la ligne qui a provoqué l'erreur et le pile d'appels, c'est la séquence des appels de fonction qui a conduit à l'erreur.
Prenons un exemple qui génère un retraçage
:
def createException (nom): soulève une exception ('Il semble que' + nom + 'a déclenché une exception') createException ('Abder')
Si vous exécutez ce script, vous obtiendrez une sortie qui se présente comme suit:
Traceback (appel le plus récent en dernier): fichier "test.py", ligne 4, danscreateException ('Abder') Fichier "test.py", ligne 2, dans createException raise Exception ('Il semble que' + nom + 'a généré une exception') Exception: Il semble qu'Abder a généré une exception
Notez que le bogue (erreur) s'est produit le ligne 2
dans le createException
une fonction. Notez également que la pile d’appel peut nous aider à déterminer quel appel a conduit à l’erreur, qui dans ce cas est l’appel qui a eu lieu dans ligne 4
.
Le tutoriel est de plus en plus long et je voudrais m'arrêter ici. Comme vous l'avez vu, le débogage de programmes est une chose naturelle et régulière à faire, et je pense que les types d'erreurs que vous avez vues dans ce tutoriel vous semblent familiers, n'est-ce pas??
Il existe d'autres moyens de déboguer un programme Python et de gérer les exceptions. Un moyen bien connu, par exemple, est le affirmation déclaration
.
Bon débogage!