Java - excepciones

 
Vista:

excepciones

Publicado por eduard (2 intervenciones) el 10/10/2007 15:39:15
hola y saludos a todos.

estoy generando una aplicacion pero hay un punto en el que me lio un poco y es a la hora de generar una excepcion, basicamente el codigo es este:

basicamente aqui lo que hago es passar el parametro coin que ha de ser de 1 euro o de 2 euros y si la moneda no es de 1 o de 2 entonces tengo que lanzar la excepcion, tal y como lo tengo puesto no mes funciona, alguien podria echarme un cable.

gracias

public void addCredit (int pcoin){
coin = pcoin;
int moneda;
credit = 0;
moneda = 0;

while (credit < PREUBITLLET){
moneda = coin;
if (moneda == 1 || moneda == 2){
credit = credit + moneda;
moneda = 0;
}
}
try {
if(moneda != 1 || moneda != 2);
}
catch (Exception ioe){
System.out.println("Error: This coin is not accepted");
}

System.out.println(credit);
}
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:excepciones

Publicado por gerald (33 intervenciones) el 10/10/2007 15:54:38
aja
si lo k kieres es que imprima error y que no aga nada por que no le quitas el try, y dejas el puro if
/* kitas esto*/
try {
if(moneda != 1 || moneda != 2);
}
catch (Exception ioe){
System.out.println("Error: This coin is not accepted");
}

System.out.println(credit);
}
/*hasta aki*/

y dejas:

if(moneda != 1 || moneda != 2){
while (credit < PREUBITLLET){
moneda = coin;
if (moneda == 1 || moneda == 2){
credit = credit + moneda;
moneda = 0;
}
}
}else
System.out.println("Error: This coin is not accepted");

y la otra, es que los if no llevan ";", y tu en el try tienes un if, con punto y coma, esto sifnifica break, hasta ahy llega y no evalua el if, puedes intentar kitandole el punto y coma, espero te sirva
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

RE:excepciones

Publicado por Victor Oliva (66 intervenciones) el 10/10/2007 16:03:42
Hola,

la forma de que un metodo lance una exception es la siguiente:

//Debes declarar que el metodo estará capacitado para lanzar excepciones y eso se hace colocando un throws en la definicion del método.

public void addCredit (int pcoin) throws Exception{

//Con esa definicion ya indicamos que el metodo esta capacitado para lanzar exceptions. Ahora falta lanzar la exception.

coin = pcoin;
int moneda;
credit = 0;
moneda = 0;

while (credit < PREUBITLLET){
moneda = coin;
if (moneda == 1 || moneda == 2){
credit = credit + moneda;
moneda = 0;
}
}

if(moneda != 1 || moneda != 2){
throw new Exception("Moneda no es Valida."); // colocando throw estamos lanzando un exception.
}

System.out.println(credit);
}

Espero que eso sea lo que necesitabas saber.
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

RE:excepciones

Publicado por eduard (2 intervenciones) el 10/10/2007 16:48:10
gracias, eso es lo que busco, pero cuando quiero ejecutarlo, me deriva un error de la classe madre.

Unhandled exception type Exception
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

RE:excepciones

Publicado por Victor Oliva (66 intervenciones) el 10/10/2007 20:57:02
A claro... por que el error lo debes manejar en la clase de la cual lo vas a ejecutar el metodo... ejemplo:

class ClaseA{

public static void ejemplo() throws Exception {
if (true)
throw new Exception("Error Ejemplo");
}

}

class ClaseB{

public static void main(String []args){

//Aqui se controla el error, ya que si no lo controlas te lanzara un error al compilar.
try{
ClaseA.ejemplo();
} catch(Exception e){
System.out.println("Ha ocurrido un error:" + e);
}
}

}

Espero que soluciones el problema.
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