try-except-else 是 Python 中用于异常处理的重要结构,它允许你优雅地处理可能出现的错误,并在没有错误发生时执行特定代码。下面我将详细解释这个结构及其用法。
基本语法
try:
# 可能引发异常的代码块
pass
except ExceptionType:
# 异常处理代码块
pass
else:
# 无异常时执行的代码块
pass
finally:
# 无论是否发生异常都会执行的代码块(可选)
pass
各部分功能详解
1. try 块
- 包含可能引发异常的代码
- 如果此块中的代码引发异常,Python 会立即跳转到对应的
except块 - 如果没有异常发生,则继续执行
else块(如果有)
2. except 块
- 捕获并处理特定的异常
- 可以指定要捕获的异常类型(如
ValueError,TypeError等) - 可以捕获多个异常类型(使用元组)
- 可以省略异常类型,捕获所有异常(不推荐,因为会隐藏编程错误)
3. else 块
- 仅在
try块中没有异常发生时执行 - 如果
try块中有异常,则跳过else块 - 适合放置那些依赖于
try块成功执行的代码
4. finally 块(可选)
- 无论是否发生异常都会执行
- 常用于资源清理(如关闭文件、数据库连接等)
使用示例
基本示例
try:
result = 10 / int(input("请输入一个数字:"))
except ValueError:
print("错误:请输入有效的数字!")
except ZeroDivisionError:
print("错误:不能除以零!")
:
()
:
()

