Python 异常处理


Python 异常处理

什么是异常处理?

在编程中,异常是指在程序运行过程中出现的错误或意外情况。异常处理是指在程序发生异常时,编写代码来处理异常,使程序能够正常运行。Python 内置了多种处理异常的方法,使编码更加容易。

Python 异常处理的语法

Python 异常处理使用 try…except 语句。语法如下:

try:
    代码块
except Exception1 as e1:
    处理 Exception1 类型的异常
except Exception2 as e2:
    处理 Exception2 类型的异常
…
else:
    如果没有异常,则执行此代码块
finally:
    无论是否发生异常,都要执行此代码块
  • try: 这个块中是你要执行的代码,可能会发生异常,一旦发生异常就会跳出这个 try 语句块,并执行 except 中定义的异常处理语句。
  • except: 当 try 语句块中出现异常时,就执行这个块中定义的语句。
  • else: 当 try 语句块中没有出现任何异常时,就执行这个块中定义的语句。
  • finally: 无论是否有异常,这个块中的代码都会被执行。

常见的异常类型

语法问题导致的异常

  • SyntaxError: 语法错误
  • IndentationError: 缩进错误

运行时问题导致的异常

  • ZeroDivisionError: 除数为 0 的异常
  • NameError: 变量不存在的异常
  • TypeError: 类型错误
  • AttributeError: 属性错误

文件访问问题导致的异常

  • FileNotFoundError: 文件不存在
  • PermissionError: 没有权限
  • IOError: 输入输出错误

自定义异常

除了 Python 内置异常之外,我们还能自定义异常,以及捕获和处理它们。定义一个异常类的方法非常简单,只需要继承 Exception 类,你可以像这样构建一个异常类:

class MyException(Exception):
    pass

使用时,你可以像使用 Python 内置异常一样,用 raise 语句抛出异常:

raise MyException('An error occurred')

总结

Python 异常处理是程序中非常重要的部分。使用 try…except 语句以及 Python 内置的异常类型,我们可以轻松地处理程序中的错误情况。在编写程序时,你应该考虑每种可能的异常情况,并确保给出适当的处理方式,以确保你的程序能够在发生异常时仍然能够正常运行。