当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《re.compile()或任何给定的Python库调用是否会引发异常?》经验,为你挑选了2个好方法。

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



1> Blair Conrad..:

那么,re.compile可以肯定地:

>>> import re
>>> re.compile('he(lo')
Traceback (most recent call last):
  File "", line 1, in 
  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

文档确实以迂回的方式支持这一点 - 检查"模块内容"页面的底部是否有(简要)描述error异常.

不幸的是,我对这个一般性问题没有任何答案.我想各种模块的文档在质量和彻底性方面各不相同.如果有您感兴趣的特定模块,您可以对它们进行反编译(如果是用Python编写的),或者甚至查看源代码,如果它们在标准库中.



2> Matthew Schi..:

与Java不同的是,必须声明要引发的异常(有些不必是,但这是另一个故事),任何Python代码都可能随时引发任何异常.

有一个内置异常列表,通常有一些描述可能会引发这些异常的时间.由你来决定你将做多少异常处理,如果你将优雅地处理东西,或者只是追溯失败.

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有