[Python] manejo de excepciones ④ (manejo de excepciones sentencia else | manejo de excepciones sentencia finalmente)





1. Declaración else de captura de excepción de Python




1. Declaración else de captura de excepción


En Python, se puede usar una sentencia else en un bloque de sentencias try-except;

La declaración else no se ejecutará hasta que se capturen todas las excepciones en el bloque try;

Si ocurre una excepción, se ejecutará el contenido de la declaración de excepción;

Si no se produce ninguna excepción, o si no se detecta la excepción especificada, se ejecutará el contenido de la instrucción else;


2. Ejemplo de código: el caso en el que no se activa la instrucción else


En el código siguiente, en el bloque de código de prueba, se produce una excepción, se ejecuta el bloque de código de excepción y no se activa el bloque de código de otra cosa;


Ejemplo de código:

"""
异常处理操作 代码示例
"""

try:
    # 可能会引发异常的代码
    result = 10 / 0
    # result = 10 / 0
except Exception as e:
    # 处理异常
    print("发生了异常:", e)
else:
    # 在没有异常的情况下执行的代码
    print("程序执行成功")

Resultados de la :

/Users/zyq/PycharmProjects/Hello/venv/bin/python /Users/zyq/PycharmProjects/Hello/main.py 
发生了异常: division by zero

Process finished with exit code 0

inserte la descripción de la imagen aquí


3. Ejemplo de código: el caso en el que se activa la instrucción else


En el código siguiente, en el bloque de código de prueba, no se produce ninguna excepción, el bloque de código de excepción no se ejecuta y el bloque de código de otra cosa desencadena la ejecución;


Ejemplo de código:

"""
异常处理操作 代码示例
"""

try:
    # 可能会引发异常的代码
    result = 10 / 1
except Exception as e:
    # 处理异常
    print("发生了异常:", e)
else:
    # 在没有异常的情况下执行的代码
    print("程序执行成功")

Resultados de la :

/Users/zyq/PycharmProjects/Hello/venv/bin/python /Users/zyq/PycharmProjects/Hello/main.py 
程序执行成功

Process finished with exit code 0

inserte la descripción de la imagen aquí





Dos, declaración de captura de excepción de Python finalmente




1. Declaración de captura de excepción finalmente


En Python, la instrucciónfinal se puede usar en el bloque de instrucción try-except, y la instrucciónfinal se ejecutará independientemente de si la excepción se detecta o no;

Esto hace que el código en el bloque de declaraciones finalmente siempre se ejecute después del código en el bloque de declaraciones try o except, sin importar si se detecta una excepción o no;

Independientemente de si se produce una excepción, se ejecutará la instrucción finalmente;

Independientemente de si la excepción se detecta o no, se ejecutará la instrucción finalmente;


2. Ejemplo de código: ejecute la declaración finalmente después de que ocurra una excepción


En el código siguiente, se produce una excepción, se detecta la excepción y finalmente se ejecuta;

Resultados de la :

"""
异常处理操作 代码示例
"""

try:
    # 可能会引发异常的代码
    result = 10 / 0
except Exception as e:
    # 处理异常
    print("发生了异常:", e)
else:
    # 在没有异常的情况下执行的代码
    print("程序执行成功")
finally:
    # 无论是否有异常都会执行的代码
    print("程序执行完毕")

Resultados de la :

/Users/zyq/PycharmProjects/Hello/venv/bin/python /Users/zyq/PycharmProjects/Hello/main.py 
发生了异常: division by zero
程序执行完毕

Process finished with exit code 0

Supongo que te gusta

Origin blog.csdn.net/han1202012/article/details/131364964
Recomendado
Clasificación