推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
aheadlead
V2EX  ›  Python

请问有什么工具可以分析出一个函数或方法可能会抛出的异常?

  •  
  •   aheadlead · Jul 30, 2015 · 3238 views
    This topic created in 4119 days ago, the information mentioned may be changed or developed.
    如题。(或者说这种事情是没有意义的?)

    我在看别人代码的时候好奇。

    谢谢。
    Supplement 1  ·  Jul 30, 2015
    我说的是 IDE 或者像 pylint 这样的工具层面的分析,不是运行时分析。抱歉没讲清楚。
    12 replies  •  2015-07-30 17:22:47 +08:00
    c742435
    c742435
    Jul 30, 2015
    1
    分析啥
    xiazi
    xiazi
    Jul 30, 2015
    2
    全部分析的话应该不可能, 工具最多只能把有raise的地方找出来.
    9hills
    9hills
    Jul 30, 2015 via iPhone
    3
    严格说是可以的,但是太多。。
    knightdf
    knightdf
    Jul 30, 2015
    4
    人脑
    learnshare
    learnshare
    Jul 30, 2015
    5
    异常就是无法预料的错误,怎么分析出所有异常?
    aheadlead
    aheadlead
    OP
    Jul 30, 2015
    6
    @learnshare 异常也是人抛的啊…比如说你一个类写得太复杂的时候,人肉或者/raise就不好找了
    saber000
    saber000
    Jul 30, 2015
    7
    把Exception给catch住,把当前异常的类型打日志,再reraise,运行一段时间后就能大概知道了
    aheadlead
    aheadlead
    OP
    Jul 30, 2015 via iPhone
    8
    @saber000 几天都难遇一次的Exception就不好办了
    saber000
    saber000
    Jul 30, 2015
    9
    @aheadlead 开发一个函数的时候理应在docstring中注明这个函数会抛出什么异常,可往往是,这个函数的开发者也不知道这个函数会抛出什么异常.
    tushiner
    tushiner
    Jul 30, 2015
    11
    典型的”未知恐惧症“
    wshcdr
    wshcdr
    Jul 30, 2015
    12
    有一场规格的哦,不用分析,一看便知
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1542 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 07:29 · PVG 15:29 · LAX 23:29 · JFK 02:29
    ♥ Do have faith in what you're doing.