文章内容
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
没想到会发生的事情,但是的的确确是发生了。应了那句话:该发生的事情,始终会发生。
以后在写代码的时候应该注意这个问题,最后修改代码,上线测试。
大家有什么问题,欢迎下面留言交流。
nine wood on 回复 有用(0)
现在已经打不开了
游客r#j4 on 2019-03-07 14:53:35
博主回复:如果是打不开,应该是你的IP被屏蔽了。