Uso de Python: prueba-espera-más-finalmente

1. Introducción

En Python, la declaración try / except se usa principalmente para manejar algunas situaciones anormales que ocurren durante la ejecución normal del programa, como errores de sintaxis (Python es un lenguaje de scripting sin un enlace de compilación, la sintaxis se verifica durante el proceso de ejecución, y una excepción se emite después de un mensaje de error), la división de datos por cero errores, los valores de las variables no definidas, etc .; try / finally se utilizan principalmente en situaciones donde se requiere un trabajo de limpieza, independientemente de si se produce una situación anormal , como en el proceso de comunicación, independientemente de si hay un error en la comunicación, debe cerrar la conexión de red cuando se complete la comunicación o se produzca un error. Aunque los roles de try / except y try /. Finalmente son diferentes, en la práctica de programación generalmente se pueden combinar y usar en forma de try / except / else / finalmente para lograr un diseño más estable y flexible.

De forma predeterminada, durante la ejecución del segmento del programa, si no se proporciona el procesamiento try / except, el mensaje de excepción generado durante la ejecución del archivo de secuencia de comandos se enviará automáticamente al llamador del programa, como el shell de python y el de python. shell responde al mensaje de excepción El proceso predeterminado es terminar la ejecución del programa e imprimir mensajes de error específicos. Este es también el origen del mensaje de error de impresión que aparece después de ejecutar el error del programa en el shell de Python.

2.intente esperar formato

python中try/except/else/finally语句的完整格式如下所示:
try:
     Normal execution block
except A:
     Exception A handle
except B:
     Exception B handle
except:
     Other exception handle
else:
     if no exception,get here
finally:
     print("finally")   
  • El programa normalmente ejecutado se ejecuta en el bloque de ejecución del bloque de ejecución Normal bajo try. Si ocurre una excepción durante la ejecución, la ejecución actual en el bloque de ejecución Normal será interrumpida y la ejecución comenzará en el bloque de manejo de excepciones correspondiente;
  • Python comienza a buscar desde el primero excepto X, si encuentra el tipo de excepción correspondiente, ingresa al identificador de excepción proporcionado por él para su procesamiento, y si no lo encuentra, ingresa directamente al bloque except para su procesamiento. El bloque except es opcional. Si no se proporciona, la excepción se enviará a Python para su procesamiento predeterminado. El método de procesamiento es finalizar la aplicación e imprimir un mensaje de solicitud;
  • Si no ocurre ninguna excepción durante la ejecución del bloque de ejecución Normal, ingresará al bloque de ejecución else (si existe) después de ejecutar el bloque de ejecución Normal.
  • Independientemente de si se produce una excepción, siempre que se proporcione la sentencia finalmente, el último paso ejecutado por el bloque de código try / except / else /.

Tenga en cuenta que:
1. En la declaración completa que se muestra arriba, el orden de try / except / else / finalmente debe ser
try–> excepto X–> excepto–> else–> finalmente, es decir, todos excepto deben estar en else Y antes finalmente, else (si hay alguno) debe ser antes de finalmente, y except X debe ser antes excepto. De lo contrario, se producirá un error de sintaxis.
2. Para el formato try / except completo que se muestra arriba, los demás y finalmente son opcionales, no necesarios, pero si existe, debe estar antes de finalmente, y finalmente (si existe) debe estar en la declaración completa La última posición.
3. En la declaración completa anterior, la existencia de la instrucción else debe basarse en la instrucción except X o except. Si la instrucción else se usa en un bloque try sin una instrucción except, causará un error de sintaxis. En otras palabras, else no se puede utilizar junto con try /.

3.excepto-nota

try:
     #raise AError
     asdas('123')
except AError:
     print("Get AError")
except:
     print("exception")      
else:
     print("else")
finally:
     print("finally")      
print("hello wolrd")
在上面的代码中,Normal execution block中出现了语法错误,但是由于使用了except语句,该语法错误就被掩盖掉了。
因此在使用try/except是最好还是要非常清楚的知道Normal execution block中有可能出现的异常类型以进行针对性的处理。

Supongo que te gusta

Origin blog.csdn.net/weixin_46649052/article/details/112852660
Recomendado
Clasificación