🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #26379

Re: Duda ESCEPTICA

#26379
From: Jonathan Revusky
Date: Fri, 15 Jan 1999 00:00
65 lines
2416 bytes
Javier Pulido wrote:
 
> public class Principal
> {
>     public static void main(String[] args) throws Exception
>     {
>         Principal prog=new Principal();
>         ClaseHijo1 hijo1;
> 
>         hijo1=prog.obtenerHijo1();
>         return;
>     }
> 
>     public ClaseHijo1 objenerHijo1()
>     {
>        return ((ClaseHijo2) new ClaseHijo2());
>     }
> }
> 
> Pregunta:   Puesto que ClaseHijo2 no es una subclase de ClaseHijo1, �como es
> posible que el m�todo pueda devolver un objeto ClaseHijo2, teniendo en
> cuenta que lo siguiente no es v�lido? :

Es que no lo hace. El problema est� en la l�nea de c�digo siguiente:

public static void main(String[] args) throws Exception 
                                       ^^^^^^^^^^^^^^^^

Se est�n tragando las excepciones.

     public ClaseHijo1 objenerHijo1()
     {
        return ((ClaseHijo2) new ClaseHijo2());
     }
 }

En el c�digo arriba, tienes un cast. El cast falla. Por lo tanto, 
la m�quina virtual lanza una ClassCastException

Se sale de la rutina y no pasa nada, la excepcion no se anuncia por
culpa de la "throws Exception" del m�todo main. 

Prueba algo as�:

     public ClaseHijo1 objenerHijo1()
     {
        try {
           return ((ClaseHijo2) new ClaseHijo2());
        }
        catch (ClassCastException e) {
           System.out.println("el cast ha fallado.");
           e.printStacktrace();
        }
     }

Haces un try-catch expl�cito de la excepci�n.

Espero que esto te aclare la cosa.

Jonathan Revusky
-- 
Java and Delphi Consulting
Make your .class files double-clickable
with SmartJ
http://www.bigfoot.com/~crystalline.solutions
Technical Details
Message-ID: <369EA02E.C023BF46@jet.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <77asu6$1cg$1@talia.mad.ibernet.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: 1116f3,bc8b3e4836d8e6a7
X-Google-Attributes: gid1116f3,public
From: Jonathan Revusky <jrevusky@jet.es>
Subject: Re: Duda ESCEPTICA
Date: 1999/01/15
Message-ID: <369EA02E.C023BF46@jet.es>
X-Deja-AN: 432776298
Content-Transfer-Encoding: 8bit
References: <77asu6$1cg$1@talia.mad.ibernet.es>
X-Accept-Language: en
Content-Type: text/plain; charset=iso-8859-1
X-Complaints-To: usenet@lola.ctv.es
X-Trace: lola.ctv.es 916365508 21813 195.55.162.40 (15 Jan 1999 01:58:28 GMT)
Organization: CTV/JET
Mime-Version: 1.0
Reply-To: jrevusky@bigfoot.com
NNTP-Posting-Date: 15 Jan 1999 01:58:28 GMT
Newsgroups: es.comp.lenguajes.java