Error Handling

Victor Subervi victorsubervi at gmail.com
Tue Apr 22 14:41:41 CEST 2008


That worked. Thanks!
Victor

On Sun, Apr 20, 2008 at 11:02 PM, Gabriel Genellina <gagsl-py2 at yahoo.com.ar>
wrote:

> En Thu, 17 Apr 2008 16:19:12 -0300, Victor Subervi <
> victorsubervi at gmail.com> escribió:
>
> >     try:
> >       cursor.execute(sql)
> >       print '¡Exito en introducir!<br />'
> >       print '<i>Esta página va a regresar a la página principal del
> carrito
> > de compras en 10 segundos.</i>'
> >     except IntegrityError:
> >       print 'Lo siento, pero el ID que entraste está usado actualmente
> por
> > otra entrada. Favor de dar para atráz y escojer otro número.'
> >     except OperationalError:
> >       print 'Lo siento, pero has añadido un carácter extraño a un número
> (o
> > en "ID", "precio", "recámaras" o "baños". Favor de dar para atráz y
> escojer
> > otro número.'
> >     except:
> >       print 'Lo siento, pero hay un error. Favor de dar para atráz y
> > averiguar donde está el error, y reintentar.'
> > When I enter and ID that is not a number, it should trigger the
> > IntegrityError. Instead, I get this in the error log:
> >
> > [Thu Apr 17 12:06:37 2008] [error] [client 190.166.0.245] PythonHandler
> > mod_python.cgihandler: NameError: global name 'IntegrityError' is not
> > defined, referer: http://livestocksling.com/bre/iud.py
>
> Looks like IntegrityError and OperationalError are defined inside your
> database module. Either use:
>
>   from my_database_module import IntegrityError, OperationalError
>
>   try
>       ...
>   except OperationalError: ...
>   except IntegrityError: ...
>   except Exception: ...
>
> or else:
>
>   import my_database_module
>
>   try
>       ...
>   except my_database_module.OperationalError: ...
>   except my_database_module.IntegrityError: ...
>   except Exception: ...
>
> It's the same as any other symbol, like math.sqrt or os.rename
>
> Note that I've not used a bare except: clause; it's not a good idea.
> sys.exit() raises the SystemExit exception, and pressing Ctrl-C raises
> KeyboardInterrupt; a bare except: will catch them, effectively nullifying
> the intended purpose.
>
> --
> Gabriel Genellina
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20080422/1686f943/attachment.html>


More information about the Python-list mailing list