try print pass exceptions example error catch all python keyword raise

print - Cómo usar la palabra clave “raise” en Python



raise except python (6)

Esta pregunta ya tiene una respuesta aquí:

He leído la definición oficial de "subir", pero todavía no entiendo muy bien lo que hace.

En términos más simples, ¿qué es "subir"?

Ejemplo de uso ayudaría.


Además de raise Exception("message") y raise Python 3 introdujo una nueva forma, raise Exception("message") from e . Se llama encadenamiento de excepciones, le permite preservar la excepción original (la causa raíz) con su rastreo.

Es muy similar a las excepciones internas de C #.

Más información: https://www.python.org/dev/peps/pep-3134/


Puede usarlo para generar errores como parte de la comprobación de errores:

if (a < b): raise ValueError()

O maneje algunos errores, y luego transfiéralos como parte del manejo de errores:

try: f = open(''file.txt'', ''r'') except IOError: # do some processing here # and then pass the error on raise


Se utiliza para levantar errores.

if something: raise Exception(''My error!'')

Algunos ejemplos here


Tiene 2 propósitos.

Yentup ha dado el primero.

Se usa para levantar tus propios errores.

if something: raise Exception(''My error!'')

La segunda es volver a subir la excepción actual en un controlador de excepciones, para que pueda ser manejada más arriba en la pila de llamadas.

try: generate_exception() except SomeException as e: if not can_handle(e): raise handle_exception(e)


raise hace que se raise una excepción. Algunos otros idiomas usan el verbo ''lanzar'' en su lugar.

Está destinado a señalar una situación de error; señala que la situación es excepcional al flujo normal.

Las excepciones aumentadas pueden ser capturadas nuevamente por el código ''upstream'' (un bloque circundante, o una función anterior en la pila) para manejarlo, usando un try , except combinación.


raise sin ningún argumento es un uso especial de la sintaxis de Python. Significa obtener la excepción y volver a subirla. Si este uso hubiera podido llamarse reraise .

raise

De la referencia del lenguaje Python :

Si no hay expresiones presentes, levante re-eleva la última excepción que estaba activa en el alcance actual.

Si el raise se usa solo sin ningún argumento, se usa estrictamente para aumentar el rendimiento. Si se hace en una situación que no está en un aumento de otra excepción, se muestra el siguiente error: RuntimeError: No active exception to reraise