文章内容

2019/3/6 14:17:48,作 者: 黄兵

该发生的事情始终会发生

最近在使用服务处理短信内容的时候,在调试的过程中出现了一些错误,我认为上线这个错误不会发生。于是这个错误也就没有处理,服务调试的差不多了,准备上线。

但是没想到服务运行了4个多小时,自动退出。查看错误日志,最后还是没有处理错误的那个地方出问题了。

这是一个这样的错误:

从发送的短信内容去查询token,但是这个手机号码还没有上线,的确存在这个号码,于是有人在发送短信的时候,输错了内容,错误就发生了。

主要是抛出一个TypeError错误,具体内容如下:

    payload = {'token': token_phone_id['token'], 'number': token_phone_id['PhoneNumber_Id'],
TypeError: 'NoneType' object is not subscriptable

之后需要处理这个错误:如果没有查询到这个电话号码的token直接删除,具体代码如下:

# 使用字典组织数据
try:
    payload = {'token': token_phone_id['token'], 'number': token_phone_id['PhoneNumber_Id'],
               'address': sms_number, 'msg': sms_content, 'date': sms_date,
               'type': 'RECEIVED'}
except TypeError:
    # 如果产生paylaod 为空的情况,直接删除这条短信内容
    copy_cat_pool_data().delete_payload_none(phone_number)
    continue

没想到会发生的事情,但是的的确确是发生了。应了那句话:该发生的事情,始终会发生。


以后在写代码的时候应该注意这个问题,最后修改代码,上线测试。

大家有什么问题,欢迎下面留言交流。

分享到:

发表评论

评论列表

user-ico

nine wood on 回复 有用(0

现在已经打不开了

游客r#j4 on 2019-03-07 14:53:35

博主回复:如果是打不开,应该是你的IP被屏蔽了。