如何查找可能引发的异常

时间:2014-07-07 19:05:24

标签: python

我试图找到找出我的python代码可能引发异常的最佳方法,你们使用的最佳方法是什么?

到目前为止,我可以:

  1. 祈祷是在某个地方的在线文档中说的(很少这样做。)
  2. 抓取.py文件以获取引发声明......
  3. 必须有更好的方法来获取这些信息!

    这个问题在之前(6年前)被问过,但他们没有得到任何答案。

    一般的共识似乎是,只捕获您认为需要捕获的异常,但我只知道我可能需要捕获哪些异常,因为我们知道可能会抛出哪些异常...所以我可以&# 39;不要接受这个答案。如果您的代码将抛出异常......当然应该为您的代码用户提供一些知识,以了解这些异常是什么。

    非常感谢你们给我的任何建议!

2 个答案:

答案 0 :(得分:0)

有一种方法可以捕获所有异常,除了这通常不赞成。最好的方法是为您的程序编写一些测试。每个程序都会根据它的作用抛出不同的例外情况,因为我相信你已经知道了。所以只需测试,测试和测试一些。

答案 1 :(得分:0)

答案不仅在你调用的函数中,而且在你编写的代码中。

如果你的代码总是发送有效的参数,那么它永远不会引发Exception,因此没有什么可以捕获的。

但是,您的代码可能完全搞乱,甚至导致原始开发人员不期望的异常。例如发送自定义类或输入类型。

我的建议是,除非您打算触发它们,否则很少需要捕获。

在这方面,你的例子是非常相关的:

  

如果你硬编码一个字符串re.compile()将永远不会失败...乔布斯   做完了!但是如果你发送动态正则表达式,(以编程方式生成或   从用户输入收集)然后你的代码将不得不处理   不正确的正则表达式和与流程相关的异常。