Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/11/2004, 09:32
soniagrande
 
Fecha de Ingreso: mayo-2004
Mensajes: 75
Antigüedad: 20 años
Puntos: 2
Lo que pasa es que al invocar
Class.forName(driverClass).newInstance();
Puede que se produzca una Exception del tipo ClassNotFoundException, por lo tanto esta sentencia tiene que estar dentro de un bloque try-catch que pueda controlar este tipo de excepcion.

Tú lo tienes puesto dentro de un try-catch (quito lo que no afecta a este error)

public void driverManager() {
....

try {
Class.forName(driverClass).newInstance();
....
} catch (SQLException e) {
...
e.printStackTrace();
...

} finally {
...
}

Pero si te fijas dentro del catch tienes solamente controladas las SQLException

catch (SQLException e)

El problema se soluciona de dos formas:

Cambiar SQLException por Exception (que es la clase base de todas las excepciones)
o bien crear otro catch especifico para tratar el error de que no se haya encontrado la clase del driver de BD.

public void driverManager() {
....

try {
Class.forName(driverClass).newInstance();
....
} catch (SQLException e) {
...
e.printStackTrace();
...
} catch (ClassNotFoundException cnfex) {
...//lo que quieras hacer en caso de que se produzca justo este error
cnfex.printStackTrace();
...

} finally {
...
}