void RegistErrorHandler(string code, string id, string tips, ErrorDelegate func)
    {
        BumErrorInfo info = new BumErrorInfo();

        info.ErrorCode    = code;
        info.ErrorID      = id;
        info.ErrorTips    = tips;
        info.ErrorHandler = func;

        ErrorCodeMap.Add(code, info);
        ErrorIdMap.Add(id, info);
    }
    public void parseErrorCode(string id)
    {
        if (!ErrorCodeMap.ContainsKey(id))
        {
            string message = string.Format("can not parse the error code: {0}", id);
            BumBase.LogError(message);
            return;
        }

        BumErrorInfo info = null;

        ErrorCodeMap.TryGetValue(id, out info);
        if (info == null)
        {
            return;
        }

        info.ErrorHandler(info.ErrorTips);
    }