DUVEIDAS IMPORTANTES SOBRE EXCECOES

MARCOS 05/10/2012 12:39:17
#411357
Prezados colegas,
Tenho algumas dúvidas,com relação ao tratamento
de erros em Projetos OO.Se os colegas puderem
esclarecer fico grato.


Partindo da premissa que tenho pronta minha classe de
acesso a Dados (DAL) em um projeto VB.NET orientado a
objetos (OO).

1. Quais as 3 principais exceçoes com as quais devo me preocupar e portanto tratar numa classe DAL e qual ação deve
ser tomada em cada uma destas 3 exceções?


2.) Penso fazer um log de erros,para registrar todas as exceções que houverem ao se
manipular o SGBD.Devo colocar o código que criará o arquivo de LOG,no tratamento
de erros da Classe (DAL),ou o Log não deve ser disparado na camada DAL???


3.) Ao tratar as exceções,que houverem no CRUD (Camada DAL),devo fazer isto na própia classe,ou
devo [Ô]lançar[Ô] as exceções para classe que chamou a Classe DAL???
KERPLUNK 05/10/2012 18:06:00
#411406
Resposta escolhida
Citação:

1. Quais as 3 principais exceçoes com as quais devo me preocupar e portanto tratar numa classe DAL e qual ação deve
ser tomada em cada uma destas 3 exceções?


Este artigo dá uma boa idéia de como fazer isso
Citação:

2.) Penso fazer um log de erros,para registrar todas as exceções que houverem ao se
manipular o SGBD.Devo colocar o código que criará o arquivo de LOG,no tratamento
de erros da Classe (DAL),ou o Log não deve ser disparado na camada DAL???


Log, é um tipo de coisa que não tem regra, ele serve para registrar qualquer coisa que você quiser, portanto, pode sim disparar de uma camada DAL

Citação:

3.) Ao tratar as exceções,que houverem no CRUD (Camada DAL),devo fazer isto na própia classe,ou
devo [Ô]lançar[Ô] as exceções para classe que chamou a Classe DAL???


O ideal é que exceções sejam lançadas para fora, sendo tratadas na camada mais superior à o que gerou a exceção. Se você tem uma estrutura BRL(Business Rules Layer) que chama uma camada DAL, se ocorrer uma exception na DAL, ela deve ser lançada para a BRL que a lançará para onde quer que ela tenha sido chamada.
Tópico encerrado , respostas não são mais permitidas