Python的异常处理主要包含:
1. try/except语句:
- 语法:
python try: 代码块 except 错误类型1: 处理代码块 except 错误类型2: 处理代码块 ... except: 通用处理代码块 else: 没有异常时执行代码块 finally: 不管有没有异常都会执行代码块 |
- except后可以指定错误类型,也可以通用处理所有异常
- else语句会在没有异常发生时执行
- finally语句在任何情况下都会执行
2. 主要异常类型:
- SyntaxError: 语法错误
- NameError: 未定义的变量
- TypeError: 不同类型的操作或函数应用
- IndexError: 索引超出范围
- ValueError: 传入无效的参数
- KeyError: 键不存在
- ImportError: 无法导入模块或包
- FileNotFoundError: 未找到文件
- ...
3. raise语句:主动抛出异常
- 语法:raise 错误类型(参数)
- 可以在except中重新抛出异常,或者在没有异常的情况下主动抛出异常
4. assert语句:用于调试,如果条件为False则抛出AssertionError
- 语法:assert 条件, "异常信息"
- 条件如果为True,assert语句本身不会抛出异常
- 条件如果为False,将抛出AssertionError,并打印异常信息
示例:
python try: f = open('file.txt') # 没有该文件,抛出FileNotFoundError except FileNotFoundError: print('文件不存在!') except: print('未知错误!') else: print('执行成功!') # 不会打印 finally: print('Finally') # 无论有没有异常都会打印 # 主动抛出异常 raise ValueError('无效的参数!') # 断言语句 age = 20 assert age > 0, '年龄必须大于0!' |
异常处理是Python编程的重要内容,要熟练掌握try/except语句的构成和使用。要在项目中合理使用,提高代码的健壮性和容错性。
要注意不同异常类型及其含义,选择合适的方式进行处理。要在必要时主动抛出异常,或者使用assert语句进行调试。
异常处理是编程语言的高级功能,通过学习可以写出更加稳定和可靠的程序,妥善处理各种意外情况,实现健壮的系统开发。