Gestion d'exception
Méthode :
Il est possible d'interception une exception et ainsi :
empêcher le programme de s'arrêter ;
et faire des traitements personnalisés en cas d'erreur.
Syntaxe : Try/Except
1
try:
2
# code pouvant générer une erreur
3
except type_de_l_erreur as e:
4
# traitements spécifiques
5
print(e) # affichage de l'erreur
Exemple : Insertion de valeur du mauvais type (psycopg2.DataError)
1
#!/usr/bin/python3
2
3
import psycopg2
4
5
conn = psycopg2.connect("host='localhost' dbname='mydb' user='me' password='secret'")
6
cur = conn.cursor()
7
8
try:
9
sql = "INSERT INTO philosopher VALUES ('Épicure', NULL, 'Premier')"
10
cur.execute(sql)
11
conn.commit()
12
except psycopg2.DataError as e:
13
print("Message personnalisé : Contrainte non respectée")
14
print("Message système :", e)
15
16
print("Fin du programme")
17
18
conn.close()
1
Message personnalisé : Contrainte non respectée
2
Message système : invalid input syntax for integer: "Premier"
3
LINE 1: INSERT INTO philosopher VALUES ('Épicure', NULL, 'Premier')
4
^
5
Fin du programme