参数不对时，错误更友好

读的时候，如果callback没传，主动抛异常，提示用户具体的错误信息

写的时候，如果没有callback，不做提示