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

Ayuda excepciones en Java

Estas en el tema de Ayuda excepciones en Java en el foro de Java en Foros del Web. Estimados: Necesito ayuda con unas excepciones personalizadas mi programa requiere una validacion de un int, tiene que ser entre un rango de 130-190 necesita 3 ...
  #1 (permalink)  
Antiguo 14/06/2010, 18:49
 
Fecha de Ingreso: mayo-2010
Mensajes: 43
Antigüedad: 14 años
Puntos: 0
Ayuda excepciones en Java

Estimados:

Necesito ayuda con unas excepciones personalizadas

mi programa requiere una validacion de un int, tiene que ser entre un rango de 130-190
necesita 3 excepciones una para cada caso
mayor a 190
menor a 130
numero negativo

Un poco de mi codigo:


public class altura {

public static void main(String[] args){

int a;
Censor asd = new Censor();
a=asd.obtenerAltura();
System.out.println("valor"+a);

}

}


import java.util.Random;


public class Censor extends Exception {
public int obtenerAltura(){
int x;
Random rand = new Random();
x=rand.nextInt(210-(-200))+(-200);
System.out.println("Altura: "+x);
return x;

}
}


he estado googleando pero no logro entender mucho, si alguien fuera tan amable de explicarme como definir estas 3 excepciones o alguna de ellas le estare muy agradecido

pd: el programa requiere el uso de solo 2 clases :S, pero si se hace con mas no importa, es solo para entender como hacer las excepciones
  #2 (permalink)  
Antiguo 14/06/2010, 19:32
 
Fecha de Ingreso: abril-2010
Ubicación: Manizales
Mensajes: 91
Antigüedad: 14 años
Puntos: 2
Respuesta: Ayuda excepciones en Java

mira la verdad no entiendo lo de la excepcion de random y esas cosas, si lo que quieres es manejar excepciones yo las manejo asi
Código Java:
Ver original
  1. public class NumerosException extends Exception
  2. {
  3.     //esto es para que la exception tenga un mensjae al ser lanzada
  4.     public NumerosException(String msg)
  5.     {
  6.         super(msg);
  7.     }
  8. }
  9.  
  10. public class Prueba
  11. {
  12.     public static void main(String arg[])
  13.     {
  14.         int n;
  15.         /*
  16.             Aqui haces todo lo q tengas que hacer con el numero
  17.             n, leerlo o algo asi
  18.         */
  19.        
  20.         if (n > 190)
  21.             throw new NumerosException("El numero es mayor que 190");
  22.            
  23.         //ya para atraparla tienes q usar un bloque try catch, si no entiendes eso me avisas
  24.     }
  25. }
  #3 (permalink)  
Antiguo 15/06/2010, 15:34
 
Fecha de Ingreso: mayo-2010
Mensajes: 43
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda excepciones en Java

amm dale, algo entendi

pero por ejemplo en el catch seria:
try{...
}catch(NumerosException){...

?
  #4 (permalink)  
Antiguo 15/06/2010, 20:54
 
Fecha de Ingreso: abril-2010
Ubicación: Manizales
Mensajes: 91
Antigüedad: 14 años
Puntos: 2
Respuesta: Ayuda excepciones en Java

si por ejemplo
Código Java:
Ver original
  1. public class Validar
  2. {
  3.     public Validar(int x) throws NumeroException
  4.     {
  5.         if (x > 10)
  6.             throw new NumeroException("Numero mayor que 10");
  7.     }
  8. }
  9.  
  10.  
  11. public class Prueba
  12. {
  13.     Validar v;
  14.    
  15.     int x;
  16.    
  17.     //lees un x o lo que necesites
  18.    
  19.    
  20.    
  21.     try
  22.     {
  23.         v = new Validar(x);
  24.     }
  25.     catch (NumerosException ne)
  26.     {
  27.         //Haces lo que tengas que hacer con la exception
  28.         //por ejemplo mostrar un mensaje
  29.        
  30.         JOptionPane.showMessageDialog(null, "Numero mayor que 10");
  31.     }
  32. }

Lo que haces es, al genererse una posble exception en el constructor de la clase validar, tienes que llamar a ese metodo dentro de un bloque try....catch

Lo de throws en el constructor es que el compilador tiene que saber que se puede generar una posible exception al ejecutarse este metodo

Etiquetas: excepciones
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 17:11.