在 Python 中,异常捕获主要通过 try...except 语句来实现。下面从基础到常见用法给你系统讲一下。
try:
# 可能会出错的代码
result = 10 / 0
except ZeroDivisionError:
# 发生指定异常时执行
print("除数不能为 0")
try:
int("abc")
except ValueError:
print("值错误")
except ZeroDivisionError:
print("除零错误")
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)
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),我可以给你更贴切的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。