温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用Python处理异常

发布时间:2026-09-24 23:12:54 来源:亿速云 阅读:97 作者:小樊 栏目:编程语言

在 Python 中,异常处理用来在程序出错时“兜底”,避免程序直接崩溃,并可以记录错误或做相应处理。

下面从基础到常用技巧给你讲清楚。


一、最基本的异常处理:try / except

try:
    x = int(input("请输入一个数字:"))
    print(10 / x)
except ZeroDivisionError:
    print("不能除以 0")
except ValueError:
    print("请输入合法的数字")

执行顺序:

  1. 先执行 try 里的代码
  2. 如果出错,跳到对应的 except
  3. 如果没有出错,跳过 except

二、捕获所有异常(不推荐随便用)

try:
    # 可能出错的代码
    pass
except Exception as e:
    print("发生错误:", e)

✅ 适合顶层保护
❌ 不适合用来掩盖逻辑错误


三、else:没有异常时执行

try:
    x = 10
except Exception:
    print("出错")
else:
    print("一切正常")

四、finally:无论是否异常都会执行

try:
    f = open("test.txt", "r")
except FileNotFoundError:
    print("文件不存在")
finally:
    print("收尾工作")

常用于:

  • 关闭文件
  • 释放资源
  • 断开连接

五、常见异常类型

异常 说明
ValueError 类型正确但值不对
TypeError 类型不对
IndexError 索引越界
KeyError 字典键不存在
FileNotFoundError 文件不存在
ZeroDivisionError 除以 0

六、主动抛异常:raise

def divide(a, b):
    if b == 0:
        raise ValueError("除数不能为 0")
    return a / b

七、自定义异常(推荐项目中使用)

class MyError(Exception):
    pass

raise MyError("自定义错误")

八、实战示例(文件读取)

try:
    with open("data.txt", "r", encoding="utf-8") as f:
        content = f.read()
except FileNotFoundError:
    print("文件不存在")
except IOError:
    print("读取失败")
else:
    print("读取成功")
finally:
    print("操作结束")

九、异常处理的最佳实践

✅ 只捕获你预期的异常
✅ 异常信息要清晰
✅ 不要在 except 里“吞掉”错误
❌ 不要滥用 except:


如果你愿意,我也可以:

  • 给你真实项目中的异常处理模板
  • 讲 Python 异步(async)异常处理
  • 或结合 Web 框架(Flask / FastAPI) 来讲

你想用在什么场景?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手