Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
374 views
in Technique[技术] by (71.8m points)

怎么知道哪些函数可能会触发哪些异常?

#!/usr/bin/python
# -*- coding: UTF-8 -*-

try:
    fh = open("testfile", "w")
    fh.write("这是一个测试文件,用于测试异常!!")
except IOError:
    print "Error: 没有找到文件或读取文件失败"
else:
    print "内容写入文件成功"
    fh.close()

从以上程序,我们可以知道open函数会触发IOError,那么,假如文件open成功了?write会触发哪些异常呢?检测呢?

我的意思,哪些函数可能触发异常,哪些不可能,可能触发哪些异常,有没有专门集中的文档说明 --- 还是说,异常处不重要?你看到别人的程序,大致抄抄改改就行了?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

看 Python 的官方文档啊。

不知道就直接用 except,后面不带异常类型、或者带 BaseException(所有异常的基类),这样就捕捉所有异常了。


image.png

REF: https://docs.python.org/zh-cn...

注:我截图的是 Python 3.8 的文档。从 3.3 开始,IOEror 和其他几个异常类型被合并到 OSError 里了。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...