Articles of excepción manejo

Python: Obteniendo el mensaje de error de una excepción

En Python 2.6.6, ¿cómo puedo capturar el mensaje de error de una excepción? ES DECIR: response_dict = {} # contains info to response under a django view. try: plan.save() response_dict.update({‘plan_id’: plan.id}) except IntegrityError, e: #contains my own custom exception raising with custom messages. response_dict.update({‘error’: e}) return HttpResponse(json.dumps(response_dict), mimetype=”application/json”) Esto no parece funcionar. Yo obtengo: IntegrityError(‘Conflicts […]

¿Cómo manejamos Python xmlrpclib Connection Refused?

No sé qué diablos estoy haciendo mal aquí, escribí que un cliente RPC intentara conectarse a un servidor inexistente, y estoy tratando de manejar la excepción que se produce, pero no importa lo que intente No puedo entender cómo debo manejar esto: def _get_rpc(): try: a = ServerProxy(‘http://dd:LNXFhcZnYshy5mKyOFfy@127.0.0.1:9001’) a = a.supervisor return a except: return […]

Django – excepción de captura

Podría ser una pregunta para principiantes de Python … try: #do something except: raise Exception(‘XYZ has gone wrong…’) Incluso con DEBUG = Verdadero, no quiero que esta raise Exception me da esa página amarilla. De hecho, quiero manejar la excepción redirigiendo a los usuarios a una página de error o mostrar el error (dar un […]

Manejo de excepciones de urllib2 y mecanización en Python

Soy un principiante en el uso de manejo de excepciones. Estoy utilizando el módulo mecanizar para raspar varios sitios web. Mi progtwig falla con frecuencia porque la conexión es lenta y porque las solicitudes se agotan. Me gustaría poder reintentar el sitio web (en un tiempo de espera, por ejemplo) hasta 5 veces después de […]

Reasignar la excepción desde dentro de un bloque __exit__ de python

Desde dentro de un bloque __exit__ en una clase de cursor personalizado, quiero capturar una excepción para que a su vez pueda lanzar una excepción más específica. ¿Cuál es la forma apropiada de hacer esto? class Cursor: def __enter__(self): … def __exit__(self, ex_type, ex_val, tb): if ex_type == VagueThirdPartyError: # get new more specific error […]

¿Agregando información a una excepción?

EDIT: estoy corriendo python 2.6 Quiero lograr algo como esto: def foo(): try: raise IOError(‘Stuff ‘) except: raise def bar(arg1): try: foo() except Exception as e: e.message = e.message + ‘happens at %s’ % arg1 raise bar(‘arg1’) Traceback… IOError(‘Stuff Happens at arg1’) Pero lo que obtengo es: Traceback.. IOError(‘Stuff’) ¿Alguna pista sobre cómo lograr esto?

¿Puede la función bool () de Python generar una excepción para un argumento no válido?

Es posible que funciones como int() o float() ValueError una excepción ( ValueError ) si el argumento no se puede convertir al tipo numérico apropiado. Por lo tanto, generalmente es una buena práctica incluirlos en un try-except si existe la posibilidad de que se les pase un argumento no válido. Pero con la flexibilidad de […]

¿Por qué necesitamos la cláusula “finalmente” en Python?

No estoy seguro de por qué necesitamos finally try…except…finally declaraciones. En mi opinión, este bloque de código. try: run_code1() except TypeError: run_code2() other_code() es lo mismo con este usando finally : try: run_code1() except TypeError: run_code2() finally: other_code() ¿Me estoy perdiendo de algo?

¿Es mejor ‘probar’ algo y capturar la excepción o la prueba si es posible primero evitar una excepción?

¿Debo probar if algo es válido o simplemente try hacerlo y detectar la excepción? ¿Hay alguna documentación sólida que diga que se prefiere una forma? ¿Es una forma más pythonica ? Por ejemplo, debería: if len(my_list) >= 4: x = my_list[3] else: x = ‘NO_ABC’ O: try: x = my_list[3] except IndexError: x = ‘NO_ABC’ […]