manerjar excepciones

30/03/2005 - 05:29 por ErickGB | Informe spam
Estoy desarrollando una aplicacion no estoy claro de
donde es el mejor lugar para manejar las excepciones, la
capa de acceso a datos, logica de negocio o interface
grafica...

he escuchado que no es buena practica manejarlas en la
capa de acceso a datos, pero por que?

por ejemplo mi base de datos es Oracle y yo queria
utilizar los OracleException u OracleError pero no creo
conveniente utilizarla hacer referencias a las ODP.NET
desde loas capas de UI o negocio

que opinan??
saludos

Preguntas similare

Leer las respuestas

#1 Steven Lewis
30/03/2005 - 07:03 | Informe spam
HOla

Es un tema algo complejo de manejar.

Por ejemplo, no es muy recomendable manejar las excepciones en la capa de
data porque se supone que los datos deben ser consistentes. Es decir, tu
capa de datos qué tiene que hacer en realidad? ir a base de datos y ejecutar
procedimientos almacenados que te regresen datos, no? entonces si quieres
maneja los errores dentro de estos procedimientos almacenados y no dentro de
la programación de tu capa de data.

Piensa en la capa de data como un BUS que lleva info desde la base de datos
hacia la capa de negocios, por ejemplo.

Otro cuento es la capa de negocios, que es la que se encarga de la lógica de
tu aplicación en cuando a su funcionamiento ppal.
Allí tampoco deberías hacerlo porque no es nu "negocio"... esta capa procesa
información, devuelve data, etc, siguiendo unas reglas específicas de tu
negocio.

La capa de UI es sólo eso, te proporciona métodos para organizar la data,
las entradas y salidas para finalmente presentarlas en un frontal que puede
ser WinFOrms, Web, WebService, etc. Ella se encarga de ORGANIZACIÓN de la
información, no de excepciones.

Los frontales MENOS!!! ellos simplemente presentan info de una forma
amigable.

Esto en cuanto a las excepciones por datos.

En este orden de ideas, piensa que las excepciones de datos las debe manejar
la base de datos solita. que los procedimientos almacenados o las funciones
te retornen valores de error, pero no capturarlas en tu aplicación.

Sin embargo, esta es sólo una opinión en cuando a arquitectura de software,
hay muchas otras que son válidas también.

Por ejemplo, para evitar excepciones en la captura de datos usas un frontal
como Winforms con sus eventos Validating de los TextBoxes, el objeto
ErrorProvider, etc. Es una forma de evitar que lleguen errores de
digitación, por ejemplo. Pero ojo, es un frontal, y no debe llevar lógica de
validación de datos según el negocio. Es un tema complejo al que no sólo le
debes invertir tiempo a leer sino que la práctica te da mucho...

Espero te sirva

Saludos!

Steven Lewis


"ErickGB" escribió en el mensaje
news:092c01c534d8$b6d06c60$
Estoy desarrollando una aplicacion no estoy claro de
donde es el mejor lugar para manejar las excepciones, la
capa de acceso a datos, logica de negocio o interface
grafica...

he escuchado que no es buena practica manejarlas en la
capa de acceso a datos, pero por que?

por ejemplo mi base de datos es Oracle y yo queria
utilizar los OracleException u OracleError pero no creo
conveniente utilizarla hacer referencias a las ODP.NET
desde loas capas de UI o negocio

que opinan??
saludos

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida