Tengo una tabla Usuarios, que tiene una restricción única en el nombre de usuario (por razones obvias).SQL Inserciones de clave únicas
Estoy utilizando un DAL EF 4.0 para completar la base de datos y en el proceso de codificación del método CreateUser().
¿Es ...
- mejor para coger el SqlException arrojado si intento insertar un nombre de usuario que ya existe.
- ¿Comprueba explícitamente el nombre de usuario antes de intentar insertarlo en la base de datos?
Si pudieras dar razones de por qué, ¡sería genial!
Gracias vcsjones. ¿Tiene algún vínculo sobre por qué es una mala idea usar excepciones como mecanismo de flujo de control? – Darbio
Claro, lo referiré a otra discusión SO: http://stackoverflow.com/questions/1336094/using-try-catch-for-flow-control-net Me gusta especialmente esta frase "Las excepciones son para casos excepcionales, no para el flujo normal "En muchos casos, atrapar una excepción nunca es tan claro como cuál es la intención. ¿Qué pasa si la excepción se produce por una razón diferente? ¿Comprobarás la excepción y el mensaje todo el tiempo? ¿Qué pasa si Microsoft cambia el mensaje de excepción en una versión posterior de SQL? – vcsjones
Una buena discusión más sobre ella para una buena medida: http://stackoverflow.com/questions/729379/why-not-use-exceptions-as-regular-flow-of-control – vcsjones