Foros del Web » Programación para mayores de 30 ;) » Java »

excepciones

Estas en el tema de excepciones en el foro de Java en Foros del Web. hola estoy leyendo manuales sobre el tratamiento de excepciones y no me entra, haber si me podeis aclarar un par de cosas. estoy haciendo un ...
  #1 (permalink)  
Antiguo 05/04/2009, 05:45
 
Fecha de Ingreso: abril-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
excepciones

hola estoy leyendo manuales sobre el tratamiento de excepciones y no me entra, haber si me podeis aclarar un par de cosas.

estoy haciendo un programa que lee numeros int del teclado y quiero tratar los errores :
cuando introducen un char;
cuando introducen un float;
cuando introducen un entero mas grande que int;

lo hago asi:

public static void Menu()
{
leer= new Scanner (System.in);

}
public static int lee()
{
int opciones=0;
try
{ opciones = leer.nextInt();
} catch(NumberFormatException e) {
System.err.println("Error");
}
return opciones;
}

public static viod main(String args[])
{
opcion= lee();
}

no funciona , alguien sabe decirme como podria hacerlo.

muchas gracias
  #2 (permalink)  
Antiguo 05/04/2009, 06:13
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: excepciones

Hola:

El método scanner.nextInt() no lanza excepciones, por lo que nunca te saltarán, escribas lo que escribas.

Hay métodos que lanzan excepciones y en la declaración del método se pone un thows. Echa un ojo, por ejemplo, el constructor de FileWriter, lleva un throws IOException. Normalmente, si el método no pone throws alguna excepción, no lanzará nada y no tiene sentido poner el try-catch (no sirve para nada).

En otras ocasiones pueden saltar excepciones que no están controladas. Los métodos no dicen que las lanzan, pero ocurren normalmente por algún error de programación. Por ejemplo, un NullPointerException.

En tu caso y si quieres ver el tema de la excepción, en vez de leer un int con scanner, que no lanza excepciones, intenta leer un String y luego convertirlo tu a entero con un Integer.parseInt(), que sí lanza excepciones

Código:
try {
   String cadena = leer.nextLine();
   int opciones = Integer.parseInt(cadena); // Este sí lanza excepciones
} catch (NumberFormatException e) {
   ...
}
Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 05/04/2009, 13:58
 
Fecha de Ingreso: abril-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: excepciones

gracias lo probare y te comentare.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:48.