Articles of manejo de excepciones

¿Cuándo se levanta KeyboardInterrupt en Python?

Todos los documentos nos dicen que es Se genera cuando el usuario pulsa la tecla de interrupción (normalmente Control-C o Delete ). Durante la ejecución, una verificación de interrupciones se realiza regularmente. Pero desde el punto del código, ¿cuándo puedo ver esta excepción? ¿Ocurre durante la ejecución de la statement? Sólo entre las declaraciones? ¿Puede […]

Cómo suprimir la visualización de la excepción principal (la causa) para las excepciones posteriores

Soy consciente de raise … from None y he leído ¿Cómo puedo suprimir más fácilmente las excepciones anteriores cuando hago mi propia excepción en respuesta? . Sin embargo, ¿cómo puedo lograr ese mismo efecto (de suprimir el mensaje “Durante el manejo de la excepción anterior, se produjo otra excepción”) sin tener control sobre el código […]

Python: prueba que se realiza correctamente cuando no se genera una excepción

Sé sobre unittest módulo de Python. Sé sobre el método assertRaises() de la clase TestCase . Me gustaría escribir una prueba que tenga éxito cuando no se produce una excepción. ¿Alguna pista por favor?

¿Cómo puedo reutilizar el código de manejo de excepciones para múltiples funciones en Python?

¿Cómo puedo reutilizar el código de manejo de excepciones para múltiples funciones en Python? Estoy trabajando en un proyecto que utilizará la biblioteca Stripe Python. https://stripe.com/docs/api/python#errors Este es un código de ejemplo de sus documentos. try: # Use Stripe’s bindings… pass except stripe.error.CardError, e: # Since it’s a decline, stripe.error.CardError will be caught body = […]

Cómo obtener un mensaje de excepción en Python correctamente

¿Cuál es la mejor manera de obtener los mensajes de excepciones de los componentes de la biblioteca estándar en Python? Noté que en algunos casos puedes obtenerlo a través de un campo de message como este: try: pass except Exception as ex: print(ex.message) pero en algunos casos (por ejemplo, en el caso de errores de […]

¿Cómo escribir varias sentencias de prueba en un bloque en python?

Quiero hacer: try: do() except: do2() except: do3() except: do4() Si do () falla, ejecuta do2 (), si do2 () también falla, exceute do3 () y así sucesivamente. atentamente

Cómo no detener la ejecución de otra función en Python en caso de Excepción / Error

Tengo un script en python que funciona como se muestra a continuación. Cada función realiza una tarea completamente diferente y no relacionada entre sí. Mi problema es que si function2 () tiene un problema durante el proceso de ejecución, function3 () , function4 () , function5 () no se ejecutará. Sé que dirá que debe […]

Deshabilitar el encadenamiento de excepciones en python 3

Hay una nueva característica que se introdujo en python3: el encadenamiento de excepciones. Por algunas razones, necesito deshabilitarlo para ciertas excepciones en mi código. Aquí está el código de muestra: try: print(10/0) except ZeroDivisionError as e: sys.exc_info() raise AssertionError(str(e)) lo que veo: Traceback (most recent call last): File “draft.py”, line 19, in main print(10/0) ZeroDivisionError: […]

Excepción de conexión de socket Python

Tengo una conexión de zócalo en marcha y quiero mejorar el manejo de excepciones y estoy atascado. Siempre que uso la función socket.connect (server_address) con un argumento no válido, el progtwig se detiene, pero parece que no se producen excepciones. Aquí está mi código import socket import sys import struct class ARToolkit(): def __init__(self): self.x […]

Manejar las excepciones del generador en su consumidor.

Este es un seguimiento para manejar una excepción lanzada en un generador y trata un problema más general. Tengo una función que lee datos en diferentes formatos. Todos los formatos están orientados a la línea o al registro y para cada formato hay una función de análisis dedicada, implementada como un generador. Por lo tanto, […]