SocketException.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Net / System / Net / SocketException.cs / 5 / SocketException.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

namespace System.Net.Sockets { 
    using System; 
    using System.ComponentModel;
    using System.Runtime.Serialization; 
    using System.Runtime.InteropServices;

    /// 
    ///     
    ///       Provides socket exceptions to the application.
    ///     
    ///  
    [Serializable]
    public class SocketException : Win32Exception { 

        [NonSerialized]
        private EndPoint m_EndPoint;
 
        /// 
        ///     
        ///       Creates a new instance of the  class with the default error code. 
        ///    
        ///  
        public SocketException() : base(Marshal.GetLastWin32Error()) {
            GlobalLog.Print("SocketException::.ctor() " + NativeErrorCode.ToString() + ":" + Message);
        }
 
        internal SocketException(EndPoint endPoint) : base(Marshal.GetLastWin32Error()) {
            m_EndPoint = endPoint; 
        } 

        ///  
        ///    
        ///       Creates a new instance of the  class with the specified error code.
        ///    
        ///  
        public SocketException(int errorCode) : base(errorCode) {
            GlobalLog.Print("SocketException::.ctor(int) " + NativeErrorCode.ToString() + ":" + Message); 
        } 

        internal SocketException(int errorCode, EndPoint endPoint) : base(errorCode) { 
            m_EndPoint = endPoint;
        }

        ///  
        ///    
        ///       Creates a new instance of the  class with the specified error code as SocketError. 
        ///     
        /// 
        internal SocketException(SocketError socketError) : base((int)socketError) { 
        }


        protected SocketException(SerializationInfo serializationInfo, StreamingContext streamingContext) 
            : base(serializationInfo, streamingContext) {
            GlobalLog.Print("SocketException::.ctor(serialized) " + NativeErrorCode.ToString() + ":" + Message); 
        } 

        ///  
        ///    [To be supplied.]
        /// 
        public override int ErrorCode {
            // 
            // the base class returns the HResult with this property
            // we need the Win32 Error Code, hence the override. 
            // 
            get {
                return NativeErrorCode; 
            }
        }

        public override string Message { 
            get {
                // If not null add EndPoint.ToString() to end of base Message 
                if (m_EndPoint == null) { 
                    return base.Message;
                } else { 
                    return base.Message + " " + m_EndPoint.ToString();
                }
            }
        } 

 
        public SocketError SocketErrorCode { 
            //
            // the base class returns the HResult with this property 
            // we need the Win32 Error Code, hence the override.
            //
            get {
                return (SocketError)NativeErrorCode; 
            }
        } 
 

    }; // class SocketException 


} // namespace System.Net

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

namespace System.Net.Sockets { 
    using System; 
    using System.ComponentModel;
    using System.Runtime.Serialization; 
    using System.Runtime.InteropServices;

    /// 
    ///     
    ///       Provides socket exceptions to the application.
    ///     
    ///  
    [Serializable]
    public class SocketException : Win32Exception { 

        [NonSerialized]
        private EndPoint m_EndPoint;
 
        /// 
        ///     
        ///       Creates a new instance of the  class with the default error code. 
        ///    
        ///  
        public SocketException() : base(Marshal.GetLastWin32Error()) {
            GlobalLog.Print("SocketException::.ctor() " + NativeErrorCode.ToString() + ":" + Message);
        }
 
        internal SocketException(EndPoint endPoint) : base(Marshal.GetLastWin32Error()) {
            m_EndPoint = endPoint; 
        } 

        ///  
        ///    
        ///       Creates a new instance of the  class with the specified error code.
        ///    
        ///  
        public SocketException(int errorCode) : base(errorCode) {
            GlobalLog.Print("SocketException::.ctor(int) " + NativeErrorCode.ToString() + ":" + Message); 
        } 

        internal SocketException(int errorCode, EndPoint endPoint) : base(errorCode) { 
            m_EndPoint = endPoint;
        }

        ///  
        ///    
        ///       Creates a new instance of the  class with the specified error code as SocketError. 
        ///     
        /// 
        internal SocketException(SocketError socketError) : base((int)socketError) { 
        }


        protected SocketException(SerializationInfo serializationInfo, StreamingContext streamingContext) 
            : base(serializationInfo, streamingContext) {
            GlobalLog.Print("SocketException::.ctor(serialized) " + NativeErrorCode.ToString() + ":" + Message); 
        } 

        ///  
        ///    [To be supplied.]
        /// 
        public override int ErrorCode {
            // 
            // the base class returns the HResult with this property
            // we need the Win32 Error Code, hence the override. 
            // 
            get {
                return NativeErrorCode; 
            }
        }

        public override string Message { 
            get {
                // If not null add EndPoint.ToString() to end of base Message 
                if (m_EndPoint == null) { 
                    return base.Message;
                } else { 
                    return base.Message + " " + m_EndPoint.ToString();
                }
            }
        } 

 
        public SocketError SocketErrorCode { 
            //
            // the base class returns the HResult with this property 
            // we need the Win32 Error Code, hence the override.
            //
            get {
                return (SocketError)NativeErrorCode; 
            }
        } 
 

    }; // class SocketException 


} // namespace System.Net

// 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