温馨提示×

温馨提示×

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

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

python异常怎么捕获

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

在 Python 中,异常捕获主要通过 try...except 语句来实现。下面从基础到常见用法给你系统讲一下。


一、基本语法

try:
    # 可能会出错的代码
    result = 10 / 0
except ZeroDivisionError:
    # 发生指定异常时执行
    print("除数不能为 0")

二、捕获多种异常

方式 1:多个 except

try:
    int("abc")
except ValueError:
    print("值错误")
except ZeroDivisionError:
    print("除零错误")

方式 2:一个 except 捕获多个异常

try:
    x = 1 / 0
except (ValueError, ZeroDivisionError) as e:
    print("出错了:", e)

三、捕获所有异常(不推荐滥用)

try:
    risky_code()
except Exception as e:
    print("发生异常:", e)

⚠️ 不建议直接 except:(会捕获包括 KeyboardInterrupt 等系统异常)


四、获取异常信息

try:
    open("nofile.txt")
except FileNotFoundError as e:
    print("异常类型:", type(e))
    print("异常信息:", e)

五、else 和 finally

try:
    x = 1 / 1
except ZeroDivisionError:
    print("出错了")
else:
    print("没有异常时执行")
finally:
    print("无论是否异常都会执行")

六、主动抛出异常

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

七、自定义异常

class MyError(Exception):
    pass

raise MyError("自定义异常")

八、常见内置异常

异常 说明
ValueError 值不合法
TypeError 类型错误
IndexError 索引越界
KeyError 字典键不存在
FileNotFoundError 文件不存在
ZeroDivisionError 除零错误

如果你有具体场景(比如文件操作、网络请求、爬虫、Django/Flask),我可以给你更贴切的示例。

向AI问一下细节

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

AI
助
手