好程序员Python分享入门之异常处理机制,异常即是一个事件,该事件会在程序执行过程中发生影响程序的正常执行。python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。今天的Python入门学习课程就给大家讲解一下异常处理机制。
当你的程序中出现异常情况时就需要异常处理。比如当你打开一个不存在的文件时,当你的程序中有一些无效的语句时,Python会提示你有错误存在。作为程序员,我们希望程序足够健壮,即使发生异常,也能够很好地恢复过来。那么该如何有效的预防异常出现呢?你可以采用下列几种方法:
1、try/except子句
try...except语句可以用于捕捉并处理错误。通常的语句放在try块中,错误处理语句放在except块中。
语法:
try:
被检测的代码块
except 异常类型:
try中一旦检测到异常,就执行这个位置的逻辑
在 Python 中,try/except 语句用于处理程序执行过程中出现的一些异常情况。需要注意的是,try...except应该尽量少用,因为它本身就是你附加给你的程序的一种异常处理的逻辑,与你的主要的工作是没有关系的,这种东西加的多了,会导致你的代码可读性变差。只有在有些异常无法预知的情况下,才应该加上try...except,其他的逻辑错误应该尽量修正。
2、else
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的代码成功执行时才需要运行的代码。
3、finally子句
当你正在读文件或还未关闭文件时发生了异常该怎么办呢?你应该使用try...finally语句以释放资源。
try语句可以有一个可选的finally子句。无论什么情况,该子句都会被执行,通常用于释放外部资源。一旦使用,无论文件是否打开成功,都必须清理资源。所以,在finally子句中使用close(),可以确保即使发生异常,文件也能够被关闭。