代码常见的逻辑思路:
主要环节:A->B->C->D->F->G
A环节:A->A1>A2->A3->A4
B环节…..
.
.
.
G环节…..
1.总原则:能不抛的异常不要抛,能不记录的日志不要记录。关键节点处的日志必须记录。
2.Exception OR Log
Log: 用来记录一些必要的提示信息,不是用来记录error的,严格的说只有最后一步集中处理时候有必要调用log.error函数。
Exception:
(1)用来收集不得不反馈的错处消息。
(2)如果A2不符合条件,后面的代码无法进行或者没有必要执行,【重点】这时候可以先不抛异常,返回空,让A4统一抛异常处理。
(3)原则上不可能产生这种情况,但是产生了,由于自己的逻辑漏洞。(参数检查时候用)
3.抛异常的思路:
4.日志消息的获取结构:func + msg,通过get_log_msg(func_name, msg),msg一般就是函数的参数。
def get_log_msg(function_name, cur_msg):
return '\n ==> [' + function_name + '] msg=' + cur_msg + '\n'
5.主逻辑上不要对参数做判断,参数判断的工作丢给被调函数去做。
6.什么时候用try–exception:
在try,exception之间的代码块,有可能会有参数检查不严格导致异常抛出,但是又不想对参数做检查,也不关心具体出什么错,这时候比较适合用。