Bonjour,
j'ai un probleme car j'obtiens une erreur de type NullPointerException que je capture grâce à un bloc try/catch. Malheureusement mon bloc catch ne s'exécute jamais et le programme plante:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public static Vector Renvoie(String requete)
	{
		Connection conn;
		Statement stmt;
		ResultSet rs;
		String driver = "org.postgresql.Driver";
		String url = "jdbc:postgresql://127.0.0.1:2000/oniria";
		String envoie;
		String erreur = "erreur";
		Vector resultat = new Vector();
 
		try
		{	
			envoie=requete;
			Class.forName (driver);
			conn = DriverManager.getConnection(url,"oniria","artefact");			
			stmt = conn.createStatement();
			rs = stmt.executeQuery(envoie);
			while (rs.next())
			{
				try
				{
					resultat.addElement(rs.getString(1));
				}
				catch (NullPointerException e)
				{
					resultat.addElement(erreur);
				}
			}						
			rs.close();
			stmt.close();
			conn.close();	
		}
		catch (SQLException e)
		{
			System.out.println("SQLException: " + e.getMessage());
			System.out.println("SQLState: " + e.getSQLState());
			System.out.println("VendorError: " + e.getErrorCode());
		}
		catch (ClassNotFoundException e)
		{
			e.printStackTrace ();
		}
 
		return resultat;
	}

Ici mon programme récupère les données d'une requète sql. Mais lorsque je fais une requète qui ne retourne rien (vide) il me met l'exception suivante: NullPointerException (car il ne peut affecter quelque chose de nul à un vector)
En revanche je ne comprends pas pourquoi il n'exécute pas alors le bloc catch qui gère l'exception NullPointerException (car c'est bien celle ci qu'il me donne).
Quelqu'un peut-il m'aider?

Merci d'avance Darkdindon