推荐学习书目
› 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
miniyao
V2EX  ›  Python

try ... except (IOError) ... except: pass 这样的代码结构,符合语法逻辑吗?

  •  
  •   miniyao · Oct 28, 2017 · 3980 views
    This topic created in 3297 days ago, the information mentioned may be changed or developed.

    希望这段代码执行的时候:如果遇到 IOError 的时候,print('IOError')。如果没有遇到 IOError,do something 出错(任何错误)也直接 pass。

    try:
        
        do something
    
    except IOError:
    
        print('IOError')
    
    except:
    
        pass
    
    16 replies  •  2017-10-29 10:13:08 +08:00
    e9e499d78f
    e9e499d78f
    Oct 28, 2017❤️1
    1
    符合语法逻辑
    lonenol
    lonenol
    Oct 28, 2017
    2
    不都是这么干的吗..
    ysc3839
    ysc3839
    Oct 28, 2017 via Android
    3
    看上去没问题……
    billgreen1
    billgreen1
    Oct 28, 2017
    4
    没问题,不过最好不要用 print, 用 log
    iFlicker
    iFlicker
    Oct 28, 2017
    5
    @billgreen1 封装一个类似于 android 的 Log.e("",""); ?
    Kilerd
    Kilerd
    Oct 28, 2017
    6
    except IOError as e:

    可以捕捉到更加具体的异常信息
    wwqgtxx
    wwqgtxx
    Oct 28, 2017 via iPhone❤️1
    7
    最后最好是 except Exception,要不然连 SystemExit 这种 BaesException 也会被 pass 掉
    flyingghost
    flyingghost
    Oct 28, 2017❤️3
    8
    干活()
    try:
    下班()
    except 产品经理改需求:
    掏出菜刀摆桌上走人()
    except:
    pass
    继续干活()

    每天不都是这样的逻辑吗?你还能处理多大的异常?
    zhx1991
    zhx1991
    Oct 28, 2017
    9
    pass 也是一种处理逻辑啊

    有时候异常上层不一定要知道, 上层很可能完全不关心这里是不是错误了

    不过 log 还是要打
    hcnhcn012
    hcnhcn012
    Oct 28, 2017 via iPhone
    10
    Except 意为除非,例外,try 块发生错误,除非是 io 错误才会执行 except 块,在英语上也符合逻辑啊
    ryd994
    ryd994
    Oct 28, 2017 via Android
    12
    @hcnhcn012 except 是 exception 的缩写
    mrdongzhijie
    mrdongzhijie
    Oct 28, 2017
    13
    lihongjie0209
    lihongjie0209
    Oct 29, 2017
    14
    如果这段代码出错后直接 pass, 我觉得可以直接删了这段代码了, 毕竟也没什么用.
    liz2nku
    liz2nku
    Oct 29, 2017 via iPhone
    15
    @lihongjie0209 可以在日志里写个 io 异常哈哈哈哈哈哈
    billgreen1
    billgreen1
    Oct 29, 2017
    16
    @ryd994 我倒是觉得 except 是动词,否则无法解释 except XXXXException as e: blablabla
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1720 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 10:07 · PVG 18:07 · LAX 02:07 · JFK 05:07
    ♥ Do have faith in what you're doing.