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