一般错误信息会以错误码的方式返回,而我们页面显示可能需要显示具体的错误信息,这样的话我们不妨将错误信息封装成一个map对象, 错误码作为key,错误信息作为value。使用的时候通过错误码获取错误信息返回就行了
代码:
public class ErrorCodeConstant { public static Map<Integer, String> errcodemap = new LinkedHashMap<Integer, String>(); static { errcodemap.put(-1, "系统繁忙,此时请开发者稍候再试"); errcodemap.put(0, "请求成功"); errcodemap.put(40001, "获取access_token时AppSecret错误,或者access_token无效。请开发者认真比对AppSecret的正确性,或查看是否正在为恰当的公众号调用接口"); errcodemap.put(40002, "不合法的凭证类型"); errcodemap.put(40003, "不合法的OpenID,请开发者确认OpenID(该用户)是否已关注公众号,或是否是其他公众号的OpenID"); errcodemap.put(40004, "不合法的媒体文件类型"); errcodemap.put(40005, "不合法的文件类型"); errcodemap.put(40006, "不合法的文件大小"); errcodemap.put(40007, "不合法的媒体文件id"); errcodemap.put(40008, "不合法的消息类型"); errcodemap.put(40009, "不合法的图片文件大小"); errcodemap.put(40010, "不合法的语音文件大小"); errcodemap.put(40011, "不合法的视频文件大小"); errcodemap.put(40012, "不合法的缩略图文件大小"); errcodemap.put(40013, "不合法的AppID,请开发者检查AppID的正确性,避免异常字符,注意大小写"); errcodemap.put(40014, "不合法的access_token,请开发者认真比对access_token的有效性(如是否过期),或查看是否正在为恰当的公众号调用接口"); errcodemap.put(40015, "不合法的菜单类型"); errcodemap.put(40016, "不合法的按钮个数"); } }
使用的时候获取错误信息就可以了:
public String getErrorMsg() { JSONObject j = JSONObject.fromObject(json); try { int code = j.getInt("errcode"); return WeiXinErrorCodeConstant.errcodemap.get(code); } catch (Exception e) { } return WeiXinErrorCodeConstant.errcodemap.get(0); }