Java - Duda uso de catch con exception

 
Vista:

Duda uso de catch con exception

Publicado por Javi (1 intervención) el 06/05/2018 23:07:42
Buenas tardes, (soy nuevo en java) y estoy usando Netbeans y mysql para realizar un programa y me surgio un problema y queria ver como podria solucionarlo.

En mysql tengo 3 tablas.. persona.. localidad y zona..

La cuestion es que tengo un registro de personas con los campos: id(pk), nombre, apellido, localidad(fk) y zona(fk).
Ahora el tema es que si la localidad no existe me abre una ventana con la tabla de localidades, mi problema es que si la zona no existe me deberia abrir la ventana con las zonas. Pero como la excepcion es la misma q en localidades me abre la ayuda de localidades.

Aca les dejo el codigo del boton guardar que utilizo:

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
try {
    PreparedStatement pps = cn.prepareStatement("INSERT INTO clientes(cl_Nombre,cl_Apellido,cl_cp,cl_zona)VALUES(?,?,?,?)");
    pps.setString(1, txtclnombre.getText());
    pps.setString(2, txtclapellido.getText());
    pps.setString(3, txtclcodigopostal.getText());
    pps.setString(4, txtclzona.getText());
    pps.executeUpdate();    //ejecutar actualizacion/cambio
    JOptionPane.showMessageDialog(null, "Datos Guardados");
    limpiar();    //limpia los campos
    mostrartabla("");      //se actualiza la tabla mostrando los cambios      
 
}catch(com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException e) {
   JOptionPane.showMessageDialog(null, "El código postal no existe o no esta cargado","ADVERTENCIA",JOptionPane.WARNING_MESSAGE);
   Ayuda abrir = new Ayuda();
   abrir.setVisible(true);
 
}catch(com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException e) {
   JOptionPane.showMessageDialog(null, "La zona no existe o no esta cargada","ADVERTENCIA",JOptionPane.WARNING_MESSAGE);
   Zona abrir = new Zona();
   abrir.setVisible(true);
}
 
 
} catch (SQLException ex) {
    Logger.getLogger(PantallaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Duda uso de catch con exception

Publicado por Xibhu (19 intervenciones) el 25/05/2018 11:36:14
En vez de esperar a que el servidor te suelte un error, podrías hacer tú la comprobación de los datos, haciendo un select de lo que necesitas, por ejemplo un count, y si es 0 sueltas tu propio error, o ventana o lo que necesites.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar