View Full Version : execoes


Roberto
04-29-2007, 04:34 PM
galera, tenho um projeto em 3 camadas onde to levantando excecoes na camada
de banco por exemplo. gostaria de saber com as outras camadas recupera essas
excessoes e vai passando pra cima para chegar ate a interface. por exemplo em
java agente levanta excessao e nas outras camadas na declaração dos metodos
agente escreve throws ClientenNaoCadastrado. como é em C#???

ex do meu codigo:

--camada banco

public Procurar(Cliente cliente)
{
try{

...
}
catch(ClienteNaoCadastrado e)
{
throw new ClienteNaoCadastrado("Cliente não encontrado");
}
}

--camanda negocio

public Procurar(Cliente cliente)
{
return rep.procurar(cliente);
}

a duvida esta exatamente neste metodo procurar da camada negocio. como
recupero a excessao lançada na camada de banco e jogo para cima(camada
interface)???

grato

Iter Vinícius
05-10-2007, 09:32 PM
Olá roberto tudo bem?! ( espero que sim ).

O jeito mais fácil de se fazer isso, é criar outro try/catch, e com o
Exception, pegar o retorno, com o Message().
Algo do genero...
try
{
...
}
Catch ( Exception e )
{
Messagebox.box( "erro " + e.Message.Tostring());
}

Espero ter ajudado. abraço!



"Roberto" <Roberto@discussions.microsoft.com> wrote in message
news:8DA111C7-2684-47B7-B7CE-4A7489B44D6E@microsoft.com...
> galera, tenho um projeto em 3 camadas onde to levantando excecoes na
> camada
> de banco por exemplo. gostaria de saber com as outras camadas recupera
> essas
> excessoes e vai passando pra cima para chegar ate a interface. por exemplo
> em
> java agente levanta excessao e nas outras camadas na declaração dos
> metodos
> agente escreve throws ClientenNaoCadastrado. como é em C#???
>
> ex do meu codigo:
>
> --camada banco
>
> public Procurar(Cliente cliente)
> {
> try{
>
> ...
> }
> catch(ClienteNaoCadastrado e)
> {
> throw new ClienteNaoCadastrado("Cliente não encontrado");
> }
> }
>
> --camanda negocio
>
> public Procurar(Cliente cliente)
> {
> return rep.procurar(cliente);
> }
>
> a duvida esta exatamente neste metodo procurar da camada negocio. como
> recupero a excessao lançada na camada de banco e jogo para cima(camada
> interface)???
>
> grato