Пример #1
0
        //------------------------------------------------------------
        // CSResources.FormatErrorMessage (2)
        //
        /// <summary>
        /// <para>Get the format string by id, create an error message with args and locations</para>
        /// </summary>
        /// <param name="excp"></param>
        /// <param name="errorNo"></param>
        /// <param name="strID"></param>
        /// <param name="errorKind"></param>
        /// <param name="fileName"></param>
        /// <param name="line"></param>
        /// <param name="col"></param>
        /// <param name="lineEnd"></param>
        /// <param name="colEnd"></param>
        /// <param name="args"></param>
        /// <returns></returns>
        //------------------------------------------------------------
        static internal string FormatErrorMessage(
            out Exception excp,
            ERRORKIND errorKind,
            string prefix,
            int errorNo,
            ResNo resNo,
            string fileName,
            int line,
            int col,
            int lineEnd,
            int colEnd,
            params Object[] args)
        {
            string message = null;

            if (!ErrorUtil.FormatErrorMessage(out message, out excp, resNo, args) &&
                String.IsNullOrEmpty(message))
            {
                // If failed to format, concatenate args to create a message.
                if (args.Length > 0)
                {
                    StringBuilder sb = new StringBuilder();
                    for (int i = 0; i < args.Length; ++i)
                    {
                        string str = args[i].ToString();
                        if (!String.IsNullOrEmpty(str))
                        {
                            if (sb.Length > 0)
                            {
                                sb.Append(", ");
                            }
                            sb.Append(str);
                        }
                    }
                    if (sb.Length > 0)
                    {
                        message = sb.ToString();
                    }
                }
                if (String.IsNullOrEmpty(message))
                {
                    message = "Unknown error.";
                }
            }

            return(FormatStringUtil.FormatErrorMessageCore(
                       fileName,
                       line,
                       col,
                       lineEnd,
                       colEnd,
                       errorKind,
                       prefix,
                       errorNo,
                       message));
        }
Пример #2
0
        //------------------------------------------------------------
        // CController.ReportError (1)
        //
        /// <summary></summary>
        /// <param name="kind"></param>
        /// <param name="message"></param>
        //------------------------------------------------------------
        internal void ReportError(ERRORKIND kind, string message)
        {
            CountReportedError(kind);

            string buffer = FormatStringUtil.FormatErrorMessageCore(
                null, -1, -1, -1, -1,
                kind,
                null, -1,
                message);

            WriteLine(buffer);
        }