我得到的代码是这样的:
try:
do_something()
except (urllib2.URLError, socket.timeout), er:
print something
except Exception, ex:
print "The code failed because", ex, "Please review"
现在,问题在于执行上面的代码我得到以下输出:
The code failed because Please review
p.s。:'ex'应返回异常的名称,但不返回任何内容。知道为什么吗?
在参考@Yuji和@Peter时,我尝试了这段代码:
try:
try:
print x
except Exception, ex:
print "ex:", ex
raise
except Exception, er:
print "er:", er
输出是:
ex: name 'x' is not defined .
er: name 'x' is not defined .
现在,为什么加注(呃)会返回一个错误?为什么它不适合你?
答案 0 :(得分:2)
不一定 - 期望并非完全正确。以下代码不打印任何内容:
try:
raise BaseException()
except BaseException, ex:
print ex
但这会打印“abc”:
try:
raise BaseException("abc")
except BaseException, ex:
print ex