compile()或任何给定的Python库调用是否会引发异常?

compile()或任何给定的Python库调用是否会引发异常?,python,regex,exception,Python,Regex,Exception,我无法从Python文档中判断re.compile(x)函数是否会抛出异常(假设传入字符串)。我想有一些东西可以被认为是无效的正则表达式。更大的问题是,我应该去哪里找到给定的Python库调用是否会抛出异常,以及这些异常是什么 那么,重新编译当然可以: >>> import re >>> re.compile('he(lo') Traceback (most recent call last): File "<stdin>", line 1,

我无法从Python文档中判断re.compile(x)函数是否会抛出异常(假设传入字符串)。我想有一些东西可以被认为是无效的正则表达式。更大的问题是,我应该去哪里找到给定的Python库调用是否会抛出异常,以及这些异常是什么

那么,
重新编译
当然可以:

>>> import re
>>> re.compile('he(lo')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python25\lib\re.py", line 180, in compile
    return _compile(pattern, flags)
  File "C:\Python25\lib\re.py", line 233, in _compile
    raise error, v # invalid expression
sre_constants.error: unbalanced parenthesis
>>重新导入
>>>重新编译('he(lo'))
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“C:\Python25\lib\re.py”,第180行,编译
返回编译(模式、标志)
文件“C:\Python25\lib\re.py”,第233行,在编译中
raise错误,v#表达式无效
sre_constants.error:不平衡括号
确实以迂回的方式支持这一点-查看“模块内容”页面底部的
错误
异常的(简要)描述


不幸的是,我对这个一般性的问题没有任何答案。我想各个模块的文档在质量和完整性上各不相同。如果有您感兴趣的特定模块,您可能可以使用它们(如果是用Python编写的)甚至,如果它们在标准库中。

与Java不同,Java中存在必须声明要引发的异常(有些不一定要引发,但那是另一回事),任何Python代码都可能在任何时候引发任何异常

这里有一个列表,其中通常有一些关于何时可能引发这些异常的描述。您将执行多少异常处理,以及您是否会优雅地处理这些内容,或者只是因为回溯而失败,这取决于您