Java - Que hacer despues de atrapat una excepcion

   
Vista:

Que hacer despues de atrapat una excepcion

Publicado por poseidon (2 intervenciones) el 28/01/2011 19:41:41
Buenas tardes, alguien me puede ayudar diciendome como es que despues de que que se atrape un error (introducir un carácter cuando se debió introducir un entero) me pida nuevamente el valor hasta que se introduzca un valor correcto.

Por ejemplo si voy a hacer una suma, pido dos valores de tipo entero, cuando el usuario introduce una letra en vez de un numero el programa lanza una excepción la cual es atrapada con "catch", pero en vez de que se detenga el programa yo quiero que vuelva a pedir el valor sin interrumpirse la ejecución
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

RE:Que hacer despues de atrapat una excepcion

Publicado por Luis (83 intervenciones) el 29/01/2011 18:21:45
En java al capturar una excepcion generalmente lo que yo hago es mostrarle un mensaje al usuario indicando cual fue el problema. Si estas usando un interfaz gráfica swing o awt el usuario no tendrá ningun problema en corregir el error que le estas indicando. Si no manejas la excepcion o escribes dentro del catch system.exit(0); en esos casos si se interumpirá la ejecución del sistema. Y si deseas colocar alguna instruccion que se ejecute siempre aun cuando exista alguna excepcion debes usar finally.

try{
Aqui colocas la ejecucion normal del codigo
}catch(NullPointerException e){
JOptionPane.showMessageDialog(null, "Aqui colocas la posible causa del error", "Error!", JOptionPane.INFORMATION_MESSAGE);
}catch(NumberFormatException n){
JOptionPane.showMessageDialog(null, "Se esperaba un número. le puedes indicar en que campo esperabas un número");
}finally{ Aqui colocas el codigo que siempre se va a ejecutar asi exista una excepción o no}

La excepción NumberFormatException ocurre por ejemplo cuando obtienes un valor de un campo de texto y le haces un integer.parseint para convertirlo en entero.
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