Bonjour,

Je cherche un moyen convenable pour modifier le message lié à une exception. En fait j'ai des fonctions qui testent différents paramètres avec différents niveau : le plus haut niveau connaît ce qui est testé et le plus bas la cause de l'erreur.

Par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function test_date ($date)
{
  if ($date == '')
  {
    throw new Exception ('date non renseignée');
  }
}
 
function test_date_debut ($date_debut)
{
  try
  {
    test_date ($date_debut);
  }
  catch (Exception $e)
  {
    /* Ici je peux préciser qu'il s'agit de la date de début */
  }
}
 
function test_param ($param)
{
  try
  {
    test_date_debut ($param['date_debut']);
  }
  catch (Exception $e)
  {
    show_error ('Paramètre invalide : '.$e->getMessage ().' !');
  }
}
La première idée qui m'ai venue est de remplacer, par exemple 'Date' par 'Date de début' et de renvoyer une nouvelle exception. Par très propre, vous auriez une autre approche à me proposer ?