![]() |
Problema manejando excepciones
Tengo una instrucción para copiar datos de una tabla a otra , lo que pasa es que la tabla 1 , admite artículos repetidos , la tabla 2 (que se copia de la tabla 1 , no admite artículos repetidos , da key violetion , cuando repite uno).
bien , tengo una instrucción
El caso es que si en la tabla1 , tengo esta lista . Articulo1 Articulo2 Articulo1 Articulo3 pues copia el articulo1 , el articulo2 y luego al encontrar el articulo1 otra vez , pues key violation , y se para , yo quiero que si encuentra el articulo1 , y esta repetido y es una key violation , se lo salte , pero luego si me añada el articulo 3 . Por que tal y como tengo el código , me sale esto en la tabla2 : Articulo1 Articulo2 y ya esta .... |
El problema es debido a que el try except no esta en el lugar adecuado, tal como esta puesto, la excepcion salta al except saliendo del bucle, no te aparecera ningun mensaje en la pantalla pero acabara la funcion en este punto. El Except es como un goto, desde la linea que de error se salta al except y se continua por ahi, saliendose del bucle:
Tendras que hacer algo parecido a: Código:
el codigo como quieres, si se produjesen otros errores por otras causas (por ejemplo que la base de datos este corrompida o cualquier otra cosa), no te enterarias y tampoco tendrias ningun pista para saber porque no funciona el codigo. Asi que es preferible en el except asegurarse de que la excepcion que esta dando es la de key violation para continuar , y si es otro tipo de error, apuntarlo en algun sitio, o mostrar un mensaje de error al usuario o lo que sea para saber que esta pasando algo extraño. Saludos Saludos |
La franja horaria es GMT +2. Ahora son las 05:19:51. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi