29/11/2004, 09:32
|
| | Fecha de Ingreso: mayo-2004
Mensajes: 75
Antigüedad: 20 años, 6 meses 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 {
...
} |