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.

SyntaxeTry/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 

ExempleInsertion 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