希望这段代码执行的时候:如果遇到 IOError 的时候,print('IOError')。如果没有遇到 IOError,do something 出错(任何错误)也直接 pass。
try:
do something
except IOError:
print('IOError')
except:
pass
1
e9e499d78f 2017-10-28 11:43:18 +08:00 1
符合语法逻辑
|
2
lonenol 2017-10-28 12:07:51 +08:00
不都是这么干的吗..
|
3
ysc3839 2017-10-28 12:16:42 +08:00 via Android
看上去没问题……
|
4
billgreen1 2017-10-28 12:23:09 +08:00
没问题,不过最好不要用 print, 用 log
|
5
iFlicker 2017-10-28 12:26:19 +08:00
@billgreen1 封装一个类似于 android 的 Log.e("",""); ?
|
6
Kilerd 2017-10-28 12:30:47 +08:00
except IOError as e:
可以捕捉到更加具体的异常信息 |
7
wwqgtxx 2017-10-28 12:38:30 +08:00 via iPhone 1
最后最好是 except Exception,要不然连 SystemExit 这种 BaesException 也会被 pass 掉
|
8
flyingghost 2017-10-28 12:42:12 +08:00 3
干活()
try: 下班() except 产品经理改需求: 掏出菜刀摆桌上走人() except: pass 继续干活() 每天不都是这样的逻辑吗?你还能处理多大的异常? |
9
zhx1991 2017-10-28 12:53:06 +08:00
pass 也是一种处理逻辑啊
有时候异常上层不一定要知道, 上层很可能完全不关心这里是不是错误了 不过 log 还是要打 |
10
hcnhcn012 2017-10-28 13:05:41 +08:00 via iPhone
Except 意为除非,例外,try 块发生错误,除非是 io 错误才会执行 except 块,在英语上也符合逻辑啊
|
11
scriptB0y 2017-10-28 16:51:00 +08:00
|
13
mrdongzhijie 2017-10-28 23:24:31 +08:00
@billgreen1 👍
|
14
lihongjie0209 2017-10-29 01:50:51 +08:00
如果这段代码出错后直接 pass, 我觉得可以直接删了这段代码了, 毕竟也没什么用.
|
15
liz2nku 2017-10-29 04:58:20 +08:00 via iPhone
@lihongjie0209 可以在日志里写个 io 异常哈哈哈哈哈哈
|
16
billgreen1 2017-10-29 10:13:08 +08:00
@ryd994 我倒是觉得 except 是动词,否则无法解释 except XXXXException as e: blablabla
|