ExternalException.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Runtime / InteropServices / ExternalException.cs / 1305376 / ExternalException.cs

                            // ==++== 
//
//   Copyright (c) Microsoft Corporation.  All rights reserved.
//
// ==--== 
/*==============================================================================
** 
** Class: ExternalException 
**
** 
** Purpose: Exception base class for all errors from Interop or Structured
**          Exception Handling code.
**
** 
=============================================================================*/
 
namespace System.Runtime.InteropServices { 

    using System; 
    using System.Globalization;
    using System.Runtime.Serialization;
    // Base exception for COM Interop errors &; Structured Exception Handler
    // exceptions. 
    //
[System.Runtime.InteropServices.ComVisible(true)] 
    [Serializable] 
    public class ExternalException : SystemException {
        public ExternalException() 
            : base(Environment.GetResourceString("Arg_ExternalException")) {
            SetErrorCode(__HResults.E_FAIL);
        }
 
        public ExternalException(String message)
            : base(message) { 
            SetErrorCode(__HResults.E_FAIL); 
        }
 
        public ExternalException(String message, Exception inner)
            : base(message, inner) {
            SetErrorCode(__HResults.E_FAIL);
        } 

        public ExternalException(String message,int errorCode) 
            : base(message) { 
            SetErrorCode(errorCode);
        } 

        [System.Security.SecuritySafeCritical]  // auto-generated
        protected ExternalException(SerializationInfo info, StreamingContext context) : base(info, context) {
        } 

        public virtual int ErrorCode { 
            get { 
                return HResult;
            } 
        }

#if !FEATURE_CORECLR // Breaks the subset-of-Orcas property
        public override String ToString() { 
            String message = Message;
            String s; 
            String _className = GetType().ToString(); 
            s = _className + " (0x" + HResult.ToString("X8", CultureInfo.InvariantCulture) + ")";
 
            if (!(String.IsNullOrEmpty(message))) {
                s = s + ": " + message;
            }
 
            Exception _innerException = InnerException;
 
            if (_innerException!=null) { 
                s = s + " ---> " + _innerException.ToString();
            } 


            if (StackTrace != null)
                s += Environment.NewLine + StackTrace; 

            return s; 
        } 
#endif // !FEATURE_CORECLR
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK