好程序员Python分享入门之异常处理机制

时间:2021-02-21 00:19:39

  好程序员Python分享入门之异常处理机制,异常即是一个事件,该事件会在程序执行过程中发生影响程序的正常执行。python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。今天的Python入门学习课程就给大家讲解一下异常处理机制。

 

  当你的程序中出现异常情况时就需要异常处理。比如当你打开一个不存在的文件时,当你的程序中有一些无效的语句时,Python会提示你有错误存在。作为程序员,我们希望程序足够健壮,即使发生异常,也能够很好地恢复过来。那么该如何有效的预防异常出现呢?你可以采用下列几种方法:

 

  1try/except子句

 

  try...except语句可以用于捕捉并处理错误。通常的语句放在try块中,错误处理语句放在except块中。

 

  语法:

 

  try:

 

  被检测的代码块

 

  except 异常类型:

 

  try中一旦检测到异常,就执行这个位置的逻辑

 

  在 Python 中,try/except 语句用于处理程序执行过程中出现的一些异常情况。需要注意的是,try...except应该尽量少用,因为它本身就是你附加给你的程序的一种异常处理的逻辑,与你的主要的工作是没有关系的,这种东西加的多了,会导致你的代码可读性变差。只有在有些异常无法预知的情况下,才应该加上try...except,其他的逻辑错误应该尽量修正。

 

  2else

 

  else代码块不是必须的,它只有在需要依赖于try代码块成功执行时才需要。它在try-except中的结构位置如下:

 

  try:

 

  片段1

 

  except 异常对象:

 

  片段2

 

  else:

 

  片段3

 

  try-except-else代码块的工作原理:python尝试执行try代码块中的片段1代码,片段1的代码应该是只有可能引发异常的代码,不会引发异常的代码不要放在try代码块中(片段1)。如果片段1的代码发生了异常,就执行片段2的代码进行异常处理,否则,如果片段1的代码没有发生异常,就执行片段3的代码,片段3的代码应该是仅在片段1的代码成功执行时才需要运行的代码。

 

  3finally子句

 

  当你正在读文件或还未关闭文件时发生了异常该怎么办呢?你应该使用try...finally语句以释放资源。

 

  try语句可以有一个可选的finally子句。无论什么情况,该子句都会被执行,通常用于释放外部资源。一旦使用,无论文件是否打开成功,都必须清理资源。所以,在finally子句中使用close(),可以确保即使发生异常,文件也能够被关闭。