Oi, tudo o que vc. disse est� correto, mas vale algumas analogias da vida real para melhor fixax�o dos conceitos:

* RuntimeException
Leve em considera��o que uma RuntimeException (unchecked) � disparada quando existe algum erro na codifica��o do seu programa, que dependendo do contexto de onde o seu m�todo � chamado pode ocorrer ou n�o (Eis por que a importancia dos testes de caixa branca).

Por exemplo, se por algum acaso voc� fizer uma acesso a um metodo de um objeto String que est� null:    nomeCompleto.substring(0,10). Voc� ir� receber uma  NullPointerException (Subclasse de RuntimeException). Voc� ter� que corrigir o codigo que permitiu gerar esse erro.

* Exception (checked)
Esse tipo de exce��o ocorre para algo que existe grande probabilidade de acontecer, e foge do controle do programa ou at� da maquina virtual. Um exemplo que logo vem a cabe�a � uma perda de conex�o, mas existe tamb�m a probabilidade de um usuario tentar gravar um objeto que os seus valores n�o estejam de acordo com a regra de neg�cio: 

 Ex. Se um operador tentar incluir um cliente sem o cpf, voc� poder� efetuar uma valida��o antes de persistir esse objeto em um banco de dados, e disparar uma exce��o do tipo UserException:

throw new UserException("Cpf � campo obrigat�rio");

onde UserException � uma subclasse de Exception:

public class UserException extends Exception

{

      public UserException(String msg)

    {  super(msg); }

 

}

Geralmente as exceptions s�o colocadas na assinatura do m�todo, para que o metodo chamador saiba o que pode acontecer  se determinado metodo for chamado. O m�todo chamador dever� se adapatar para tratar a exception que poder� ocorrer, e manter a aplica��o no ar.

 

*Error (unchecked)

Quando uma exce��o desse tipo � lan�ada algo errado aconteceu ao nivel de maquina virtual, n�o ser� possivel fazer muita coisa para recuperar a aplica��o em andamento.

Ex:.

 NoClassDefFoundError : Est� faltando uma classe no ClassPath
OutOfMemoryError : N�o tem mem�ria


Todas s�o filhas de Throwable, se vc. quiser capturar qualquer exce��o, seja ela checada ou n�o fa�a:

try {

// C�digo gerador de erro.....

} catch (Throwable t)

{

// Tratamento do erro...

}

 

Espero ter ajudado,


[]�s

Marcelo Beckmann
============================

 

Ol� pessoal !!!!

Estou com d�vidas em rela��o ao que � Checked e Uncheked Exception.

Pelo que tenho lido e entendido Checked Exception s�o aquelas que o
programador deve tratar em seu programa, por exemplo um arquivo que
n�o pode ser encontrado ou uma falha na rede. J� Unchecked Exception
seriam bugs no programa, ou seja, ocorrem devido a programas mal
escritos. Seria isso mesmo?

Outra d�vida:
Checked exception s�o representadas pela classe Exception que �
subclasse de Throwable. J� Unchecked Exception s�o representadas pelas
classes Error (para condi��es de erros graves) e pela classe
RunTimeException (para o caso de bug no programa) ambas tb s�o
subclasses de Throwable.Isso est� correto?  

Obrigada    





Yahoo! Groups Links


----------

Yahoo! Groups Links

Atrašyti