标题:try中else问题
只看楼主
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
结帖率:91.43%
 问题点数:0 回复次数:3 
try中else问题
书上有段代码
程序代码:
try:
    x=1/0#line27
except NameError as e:
    print('wrong:', e)
else:
    print('That went well,no problem')
finally:
    print('Cleaning up...')


结果:
Cleaning up...
Traceback (most recent call last):
  File "D:\code\aptana studio3\temp\temp.py", line 27, in <module>
    x=1/0
ZeroDivisionError: division by zero

把NameError改成Exception就没有问题。

如果except捕获不到错误就必须停止,那要else有什么用?
直接改成
程序代码:
try:
    x=1/0#line27
    print('That went well,no problem')
except NameError as e:
    print('wrong:', e)
finally:
    print('Cleaning up...')
不也是一样的吗?


[此贴子已经被作者于2017-9-6 23:20编辑过]

2017-09-06 23:15
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
得分:0 
傻了,这是个没有意义的问题...
2017-09-10 14:29
笨蛋编程
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:65
专家分:131
注 册:2011-8-11
得分:0 
2017-09-17 09:00
笨蛋编程
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:65
专家分:131
注 册:2011-8-11
得分:0 
还有
http://www.

NameError 是未定义
2017-09-17 09:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-480529-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019609 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved