Java - Lanzar excepcion

 
Vista:
sin imagen de perfil

Lanzar excepcion

Publicado por Maria (25 intervenciones) el 05/02/2017 00:08:06
Buenas noches,

Tengo una pequeña duda que nose como resolver,a ver si alguien me puede echar una mano.
Tengo la clase Padre con una variable static NUMERO, y un id. Desde la clase hija tengo que inicializar la variable ID de la clase Padre, pero antes tengo que comprobar que su tamaño no sea mayor que la variable estatica, si es mayor el constructor debe lanzar una excepcion.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public final class Hija extends Padre{
 
    private String nom;
 
    public Hija(String id, String nom) throws Exception {
 
        if(revisar(id)==true){
           super(id);
        }else{
            throw new Exception("El Id excede el tamaño permitido");
        }
        this.nom=nom;
    }
 
    public boolean revisar(String id){
        return id.length()<=NUMERO;
    }


--> No se como hacerlo, ya que en el constructor lo primero que hay que hacer es llamar a super(), pero como lanzo la expcecion desde ahi si no cumple....
Estoy bloqueada.

Gracias.
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

Lanzar excepcion

Publicado por Lucas (10 intervenciones) el 06/02/2017 18:38:13
Prueba con una clausula de try & catch

por ejemplo:

1
2
3
4
5
6
7
8
try{                          //abres el try, es decir va a intentar hacer lo que esta entre llaves
if(revisar(id)==true){        //esa es tu condicion
           super(id);
        }
}catch(e){                //si no cumple la funcion entrara en el catch
System.out.printIn(e);    //esto imprimira el error
System.out.printIn("El Id excede el tamaño permitido");     // y esto imprime tu mensaje
}


Asi deberia funcionar.
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
sin imagen de perfil

Lanzar excepcion

Publicado por Maria (25 intervenciones) el 07/02/2017 00:08:24
Si. Tu código me serviría, pero me piden no gestionar la excepción. Gracias de todas formas.
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