Voce tem que usar as exceptions. Neste exemplo usei IOException, mas
voce pode usar a que mais lhe convier, ou ate criar a sua.
E voce nao precisa destruir o objeto, pois em java isso e' feito
automaticamente. Voce so precisa garantir que nao existam mais
referencias para aquele objeto. Se ele tiver algum metodo que faca a
limpeza de outros recursos do sistema operacional, voce pode chamar esse
metodo quando pegar a excecao.

public class B {
        public void b() throws IOException {
                if (erro)
                        throw new IOException();
                blah();
                blah();
        }
}

public class A {
        public void a() {
                try {
                        B b = new B();
                        b.b0();
                        b.b();
                        b.b1();
                }
                catch (IOException e) {
                        System.out.println("Erro: " + e);
                        e.printStackTrace();
                        // se a classe B tem algum metodo que faz a
                        // limpeza de algo depois dessa excecao:
                        b.clean();
                }
                blah();
        }
}


Thiago Rodrigues de Almeida wrote:
> 
>         Oi pessoal, tudo bom ?
>         Tenho uma duvida muito simples mas nao estou conseguindo resolve-la.
> 
>         Tenho uma classe A que chama a B (instancia B).
>         No momento q  a classe A chama B, ela dispara alguns metodos executados
> por B. O problema eh q dentro do metodo de B ocorre um erro. A partir deste
> instante, quero q a classe B seja destruida e seja retornado o controle a
> quem a chamou (no caso, A).
>         O problema eh q no momento do erro no metodo, eu nao posso escrever
> System.exit pq ao inves de so a classe B ser destruida, o sistema todo eh
> terminado.
> 
>         Exemplo:
> 
>         "Classe B"
>         public void X()
>         {
>                 if (x==1)
>                    // entao retona o controle a quem instanciou (no caso, classe A). 
>O
> retorno deve ser nesse momento e nao esperar q
>                      o metodo seja totalmente executado para poder retornar.
>                      else
>                 {
>                   xxxxxxx
>                 }
>                 <comandos>
>         }
> 
>         Eu sei q poderia simplesmente retornar com (return true/false) mas nao eh
> o meu caso.
> 
>         Como posso resolver esse problema ? Alguma sugestao ?
>         Espero ter sido claro o suficiente...
> 
>                                         Thiago Almeida.
> 
> * Para nao receber mais e-mails da lista, acesse 
><http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu e-mail, escolha 
>a lista <[EMAIL PROTECTED]> e de um <submit>.

--
Eduardo Issao Ito <[EMAIL PROTECTED]>
Eurosoft Consultoria <http://www.euroconsult.com.br>
Rua Marina Saddi Haidar, 176 - S�o Paulo - SP - Brasil
CEP 04650-050
TEL: +55 11 524-8022
FAX: +55 11 524-0408
* Para nao receber mais e-mails da lista, acesse 
<http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu e-mail, escolha a 
lista <[EMAIL PROTECTED]> e de um <submit>.

Responder a