Salut !

J'ai récupéré sur Internet une classe qui permet d'organiser la gestion des objets MySql utilisés dans mon application. Toutefois, j'essaie de comprendre cette classe mais il y a un truc qui bloque :

voici un bout de la classe qui permet de gérer les exceptions :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
class MySQLExeption extends Exception {
	public function __construct($Msg) {
		parent :: __construct('<pre>'.$Msg.'</pre>');
	}
Et voici un bout de la classe qui permet de gérer les exécutions sql :

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
 
class Mysql{
 
private ... ;
 
	public function ExecuteSQL($Requete){
 
		if (!($Ressource = mysql_query($Requete, $this->Lien))) throw new MySQLExeption('1 - Erreur SQL : ');
 
		if (!$Ressource and $this->Debogue) throw new MySQLExeption('2 - Erreur SQL : ');
 
		$this->NbRequetes++;
		$NbAffectee = mysql_affected_rows();
		return $NbAffectee;      
	}
J'ai une requête foireuse (je mets à jour une colonne dont le nom n'existe pas).

Alors que je tente d'exécuter la requête via la méthode ExecuteSQL, j'obtiens le message suivant :

Fatal error: Uncaught exception 'MySQLExeption' with message '
1 - Erreur SQL :
' in /var/www/mc/classes/Tools/Mysql.php:122 Stack trace: #0 /var/www/mc/action.php(83): Mysql->ExecuteSQL('???UPDATE ????M...') #1 /var/www/mc/index.php(54): include('/var/www/mc/act...') #2 {main} thrown in /var/www/mc/classes/Tools/Mysql.php on line 122
Ce que je ne comprends pas est pourquoi le message d'erreur s'affiche-t-il alors que dans la méthode ExecuteSQL si ma requête est foireuse, je lance une exception, mais à aucun moment je ne fais d'affichage ?

Merci de votre aide !