Articles of try catch

¿Por qué Python no implementa la statement elif en la statement de prueba?

Así que vamos a hacer un ejemplo rápido. my_list = [ {“name”: “toto”, “value”: 3}, {“name”: “foo”, “value”: 42}, {“name”: “bar”, “value”: 56} ] def foo(name): try: value = next(e[“value”] for e in my_list if e[“name”] == name) except StopIteration: print “Uuuh not found.” else: if value % 2: print “Odd !” else: print “Even […]

¿Cómo atrapar una excepción como esta en Flask?

Ejecuto una aplicación de matraz simple como esta: from flask import Flask app = Flask(__name__) @app.route(‘/’) def welcome(): return “OK” app.config.update( DEBUG = True ) if __name__ == ‘__main__’: app.run(use_reloader = False) cuando lo ejecuto y lo visito, a veces (no siempre) no pudo responder a la solicitud y lanzar una excepción: Exception happened during […]

¿Cómo escribir un bloque de sangría vacío en Python?

El tiempo de ejecución me sigue diciendo: espera un bloque sangrado Pero no quiero escribir nada dentro de mi bloque excepto, solo quiero que atrape y trague la excepción.

Coger KeyError en Python

Si ejecuto el código: connection = manager.connect(“I2Cx”) El progtwig se bloquea e informa de un KeyError porque I2Cx no existe (debería ser I2C). Pero si lo hago: try: connection = manager.connect(“I2Cx”) except Exception, e: print e No imprime nada para e. Me gustaría poder imprimir la excepción que se lanzó. Si bash lo mismo con […]

Múltiples códigos de prueba en un bloque

Tengo un problema con mi código en el bloque try. Para hacerlo más fácil este es mi código: try: code a code b #if b fails, it should ignore, and go to c. code c #if c fails, go to d code d except: pass ¿Es algo como esto posible?

Python Try-Except dentro de la función

Tengo una buena comprensión de la cláusula try-except de python, pero tengo problemas al intentar ponerla dentro de una función. >>> def tryAppend(child, parent): … try: … parent.append(child) … except NameError: … print “WRONG NAME” >>> var1 = [] >>> var2 = ‘test2’ >>> tryAppend(var2, var1) #works, no error >>> tryAppend(foo, var1) Traceback (most recent […]

Sustituciones de cadenas usando plantillas en Python

Introducción El módulo de cadena tiene una clase de Plantilla, que le permite hacer sustituciones en una cadena usando un objeto de mapeo, por ejemplo: >>> string.Template(‘var is $var’).substitute({‘var’: 1}) ‘var is 1’ El método de sustitución puede generar una excepción KeyError, si se intenta sustituir un elemento que falta en la asignación, por ejemplo […]

borrar archivo si existe; python

Quiero crear un archivo; Si ya existe quiero borrarlo y crearlo de nuevo. Intenté hacerlo así, pero arroja un error de Win32. ¿Qué estoy haciendo mal? try: with open(os.path.expanduser(‘~’) + ‘\Desktop\input.txt’): os.remove(os.path.expanduser(‘~’) + ‘\Desktop\input.txt’) f1 = open(os.path.expanduser(‘~’) + ‘\Desktop\input.txt’, ‘a’) except IOError: f1 = open(os.path.expanduser(‘~’) + ‘\Desktop\input.txt’, ‘a’)

¿Cómo obtener el último objeto de excepción después de que se genere un error en un indicador de Python?

Al depurar el código de Python en el indicador interactivo (REPL), a menudo escribo un código que genera una excepción, pero no lo envolví en un try / except , por lo que una vez que surge el error, siempre he perdido el objeto de excepción. A menudo, la traza y el mensaje de error […]

El rastreo de excepciones se oculta si no se vuelve a subir inmediatamente

Tengo un código similar a este: import sys def func1(): func2() def func2(): raise Exception(‘test error’) def main(): err = None try: func1() except: err = sys.exc_info()[1] pass # some extra processing, involving checking err details (if err is not None) # need to re-raise err so caller can do its own handling if err: […]