python:bases:exceptions

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
python:bases:exceptions [2022/09/03 10:42] – [Python - Exceptions et assertions] philpython:bases:exceptions [2022/12/16 12:48] (Version actuelle) phil
Ligne 1: Ligne 1:
-{{ :suivant.png?nolink&30|}} {{ :retour.png?nolink&30|}} [[:python:accueilpython|{{ :iconemaison.jpg?nolink&30|Sommaire Python et microPython}}]]+[[:python:accueilpython|{{ :iconemaison.jpg?nolink&30|Sommaire Python et microPython}}]]
  
-===== Python - Exceptions et assertions ===== +===== Python - Test, exceptions, assertions et module doctest ===== 
-[Mise à jour le : 30/6/2021]+[Mise à jour le : 16/12/2022]
  
   * **Sources**    * **Sources** 
Ligne 53: Ligne 53:
 //Résultat attendu// //Résultat attendu//
  
-Quel est votre âge ? 35 +Quel est votre âge ? 35 \\ 
-Vous avez 35 ans +Vous avez 35 ans \\ 
-> +\\ 
-Quel est votre âge ? ldkfjg +Quel est votre âge ? ldkfjg \\ 
-Erreur lors de la conversion de votre âge !+Erreur lors de la conversion de votre âge ! \\ 
 + 
 +<callout type="primary" icon="true">On intercepte toutes les erreurs sans les distinguer.</callout>
  
-<note>On intercepte toutes les erreurs sans les distinguer.</note> 
 === 1.2 Forme complète try ... except ... finally=== === 1.2 Forme complète try ... except ... finally===
  
Ligne 107: Ligne 108:
 //Résultat attendu// //Résultat attendu//
  
-Entrer le numérateur  12 +Entrer le numérateur  12 \\ 
-Entrer le dénominateur 2 +Entrer le dénominateur 2 \\ 
-Le résultat de la division est 6.0 +Le résultat de la division est 6.0 \\ 
-On poursuit l'exécution du programme +On poursuit l'exécution du programme \\ 
-> +\\ 
-Entrer le numérateur  12 +Entrer le numérateur  12 \\ 
-Entrer le dénominateur klkl +Entrer le dénominateur klkl \\ 
-Le numérateur ou le dénominateur possède un type incompatible avec la division. +Le numérateur ou le dénominateur possède un type incompatible avec la division. \\ 
-On poursuit l'exécution du programme +On poursuit l'exécution du programme  \\ 
-> +\\ 
-Entrer le numérateur  12 +Entrer le numérateur  12 \\ 
-Entrer le dénominateur 0 +Entrer le dénominateur 0 \\ 
-Le dénominateur est égal à 0. +Le dénominateur est égal à 0. \\ 
-On poursuit l'exécution du programme+On poursuit l'exécution du programme \\
  
 === 1.3 Lever une exception === === 1.3 Lever une exception ===
-<note>Pour lever une exception on utilise le mot-clé **raise**.</note+<callout type="primary" icon="true">Pour lever une exception on utilise le mot-clé **raise**.</callout>
  
 <code python *.py> <code python *.py>
Ligne 130: Ligne 131:
  
 ==== 2. Les assertions ==== ==== 2. Les assertions ====
- +<callout type="primary" icon="true">Les assertions sont un moyen de s'assurer, avant de continuer , qu'une condition est respectée.</callout>
-<note>Les assertions sont un moyen de s'assurer, avant de continuer , qu'une condition est respectée.</note+
  
 // Syntaxe // // Syntaxe //
Ligne 152: Ligne 152:
  
 // Résultat attendu // // Résultat attendu //
-Saisissez une valeur supérieure à 0 : 6 +Saisissez une valeur supérieure à 0 : 6 \\ 
-> +\\ 
->Saisissez une valeur supérieure à 0 : 0 +Saisissez une valeur supérieure à 0 : 0 \\ 
-La valeur n'est pas supérieure à 0 !+La valeur n'est pas supérieure à 0 !
  
  
Ligne 162: Ligne 162:
   * **Source** : <html><a href="https://docs.python.org/fr/3/library/doctest.html#module-doctest" target="_blank">Test interactive Python examples</a></html> sur python.org   * **Source** : <html><a href="https://docs.python.org/fr/3/library/doctest.html#module-doctest" target="_blank">Test interactive Python examples</a></html> sur python.org
  
-<note>Le module doctest recherche des zones de texte ressemblant à des sessions Python interactives et les exécute pour en vérifier le bon fonctionnement. Principe et exemples <html><a href="https://franckchambon.github.io/ClasseVirtuelle/Term_NSI/doctest.html" target="_blank"><strong>ici</strong></a></html></note> +<callout type="primary" icon="true">Le module doctest recherche des zones de texte ressemblant à des sessions Python interactives et les exécute pour en vérifier le bon fonctionnement. Principe et exemples <html><a href="https://franckchambon.github.io/ClasseVirtuelle/Term_NSI/doctest.html" target="_blank"><strong>ici</strong></a></html></callout>
  
 ---- ----
Ligne 177: Ligne 176:
 {{  :python:bases:realpython.png?nolin|}} {{  :python:bases:realpython.png?nolin|}}
 ==== Pour aller plus loin ... ==== ==== Pour aller plus loin ... ====
 +    * <html><a href="https://testdriven.io/blog/pytest-for-beginners/" target="_blank">Pytest for Beginners</a></html>
 +    * <html><a href="https://realpython.com/python-assert-statement/" target="_blank">Python's assert: Debug and Test Your Code Like a Pro</a></html>
     * <html><a href="https://realpython.com/python-testing/" target="_blank">Getting Started With Testing in Python</a></html>     * <html><a href="https://realpython.com/python-testing/" target="_blank">Getting Started With Testing in Python</a></html>
     * <html><a href="https://realpython.com/learning-paths/test-your-python-apps/" target="_blank">Test Your Python Apps</a></html>     * <html><a href="https://realpython.com/learning-paths/test-your-python-apps/" target="_blank">Test Your Python Apps</a></html>
     * <html><a href="https://ward.readthedocs.io/en/latest/" target="_blank">ward : un framework de test pour Python</a></html>     * <html><a href="https://ward.readthedocs.io/en/latest/" target="_blank">ward : un framework de test pour Python</a></html>
-    * <html><a href="https://realpython.com/python-assert-statement/" target="_blank">Python'assert: Debug and Test Your Code Like a Pro</a></html>+    * <html><a href="https://snyk.io/blog/the-dangers-of-assert-in-python/?utm_campaign=AOM-2022&utm_medium=Paid-Email&utm_source=PyCoders&utm_content=the-dangers-of-assert-in-python" target="_blank">The dangers of assert in Python</a></html> 
  • python/bases/exceptions.1662194544.txt.gz
  • Dernière modification : 2022/09/03 10:42
  • de phil