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

#!/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会触发哪些异常呢?检测呢?

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


回答:

看 Python 的官方文档啊。

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


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

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

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


回答:

一个方法是看官方文档@然后去远足已经提过了,如果你觉得上官网搜索比较复杂的话,不知道你用的是什么ide,ide点进相应方法的源码,看下源码部分,除了native方法(没有python源码的,是C语言直接写的)之外大多数都有写有可能throw 什么 Exception。
当然,从实用性角度看,为了代码先至少可以运行,可以就先写except


回答:

Java的优势这就体现出来了
Python就管不了那么多啦,能跑起来就行 hhhhhh


回答:

捕捉几个常用的,可以看看文档,或者调试时候最有可能出现的单独捕捉下,其他我一般都是放在一起打印的。

    except Exception as result:

print("错误位置: %s" % result)


回答:

根据参数来查看异常,第一个参数是文件,没有找到文件会抛异常,第二个参数是文件读写方法,方法不对会抛异常,第三个是字符类型,类型不对会抛异常。


回答:

感谢,同学们的解答。看源代码就算了,我还是查一下文档吧,其实我还是看网友的文章更多 :)

以上是 怎么知道哪些函数可能会触发哪些异常? 的全部内容, 来源链接: utcz.com/p/937828.html

回到顶部