Opc.Ua.ExceptionDlg.Add C# (CSharp) Method

Add() private method

private Add ( StringBuilder buffer, Exception e, bool showStackTrace ) : void
buffer StringBuilder
e Exception
showStackTrace bool
return void
        private void Add(StringBuilder buffer, Exception e, bool showStackTrace)
        {
            AddBlock(buffer, "EXCEPTION (" + e.GetType().Name + ")", 1);
            AddBlock(buffer, e.Message);

            ServiceResultException sre = e as ServiceResultException;

            if (sre != null)
            {
                ServiceResult sr = new ServiceResult(sre);

                while (sr != null)
                {
                    AddBlock(buffer, "SERVICE RESULT (" + new StatusCode(sr.Code).ToString() + ")", 2);

                    string text = (sr.LocalizedText != null) ? sr.LocalizedText.Text : null;

                    if (text != e.Message)
                    {
                        AddBlock(buffer, text);
                    }

                    AddBlock(buffer, sr.SymbolicId);
                    AddBlock(buffer, sr.NamespaceUri);

                    if (showStackTrace)
                    {
                        if (!String.IsNullOrEmpty(sre.AdditionalInfo))
                        {
                            AddBlock(buffer, "ADDITIONAL INFO (" + new StatusCode(sr.Code).ToString() + ")", 3);
                            AddBlock(buffer, sre.AdditionalInfo);
                        }
                    }

                    sr = sr.InnerResult;
                }
            }

            if (showStackTrace)
            {
                AddBlock(buffer, "STACK TRACE", 3);
                AddBlock(buffer, e.StackTrace);
            }
        }