1.如果异常的数量少于20个,在哪里处理没有多大区别,如果有100个,就不一样了
2.如果except什么也不做,仅仅是pass,那为什么还用try呢?return erron_code是C语言的处理方式,不应该用在面向对象的技术里面,难道你想要每次调用一个函数,都得写一个if(func_return_ok)吗?
3.集中处理,一样可以很容易的找到出错的位置,你可以去看看Exception 的__traceback__ 中的Frame。你甚至还能够在集中处理中自动的打开异常文件,并定位到出现异常的行,只用几行代码就可以的。如果你分开处理异常的话,就没有这么方便了!
4.所以说,你们的leader应该是正确的。为什么你不用python写一个小脚本自动的移除try except呢?python的文本处理还是可以的!
以上是zhouchongzxc理解的总结。
1.要保证最外层能捕获错误,不要因为一个错误而引起整个服务的崩溃
2.不要让错误沉默,只要是错误,就应该抛出,只要是错误,就应该修复,修复不能用try,这是掩盖错误。
tkminigame 理解的总结
函数本身有一个重要的责任,就是在运行条件不满足时抛出异常。
当函数中调用的函数在某些条件下,可能会抛出异常的情况,究竟要不要捕获这样的异常,就要看运行时是否能够修正错误的运行条件。
如果可以修正,那么就要捕获并修正,从而是程序继续运行;
如果不可以修正,可以让异常向上级传递,如果想要改变异常的类型和信息,就得捕获并抛出新异常。一般情况下,如果可以得到函数调用栈信息,就没有必要捕获这种异常,让更高层的函数来捕获。更高成的函数可以通过获取函数调用栈信息了解异常抛出的位置。
来自fibbery 的总结
以上均是引自别人的理解,个人在初学python中的记录,也拿出来给大家一起看看。欢迎高手接帖分享。