在使用业务处理PHP问题的时候, 肯定会考虑到程序之间交互(mysql, redis, memcached...)的返回值问题.
一般来说, 针对业务会考虑到如果数据库插入失败怎么办, redis 的命令执行失败怎么办,可能是网络超时, 或者服务器崩溃等原因导致, 但是这些情况发生时,我常常不知道程序这边要如何处理, 比如, 数据库插入失败, 那么pdo的inset方法是返回一个false还是程序直接报异常? phpredis 在操作redis的时候网络断开了, 是返回null还是程序异常?归根结底, 是对每个方法的返回值或者类库对各种可能不成功的原因的处理方式上不熟悉, 导致需要用极其繁琐的 if $return === 1 这样的严格判断来确定下一步程序走向, 导致代码很不整洁.
考虑过使用try 和 catch 来包裹整个数据库插入代码段, 但是又怕插入失败返回的仅是 $return=0,那就失去了意义.
请问各位大佬, 在处理这些与mysql和redis交互的逻辑时,是否有一个统一的记忆方法来判断命令执行是成功还是失败?还是说必须通过文档熟记每一个方法在执行时,对每一个错误(网络断开,要交互的服务器崩溃,被拒绝连接...)的返回值熟记于心才行?
慕少森
阿波罗的战车