python中的错误处理

时间:2021-09-26 18:22:53

用错误码来表示是否出错十分不便,因为函数本身应该返回的正常结果和错误码混在一起,造成调用者必须用大量的代码来判断是否出错:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
def foo():
  r = some_function()
  if r==(-1):
    return (-1)
  # do something
  return r
 
def bar():
  r = foo()
  if r==(-1):
    print 'Error'
  else:
    pass

但是Go就是这么干的,哈哈!

python 中还是用try … except….finally这种方式来处理的。

?
1
2
3
4
5
6
7
8
9
try:
  print 'try...'
  r = 10 / 0
  print 'result:', r
except ZeroDivisionError, e:
  print 'except:', e
finally:
  print 'finally...'
print 'END'