WarningException.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 / fx / src / CompMod / System / ComponentModel / WarningException.cs / 1305376 / WarningException.cs

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

/* 
 */ 
namespace System.ComponentModel {
    using Microsoft.Win32; 
    using System;
    using System.Diagnostics;
    using System.Runtime.InteropServices;
    using System.Runtime.Serialization; 
    using System.Security.Permissions;
 
    ///  
    ///    Specifies an exception that is handled as a warning instead of an error.
    ///  
    [HostProtection(SharedState = true)]
    [Serializable]
    public class WarningException : SystemException {
        private readonly string helpUrl; 
        private readonly string helpTopic;
 
        ///  
        /// Initializes a new instance of the  class with the last Win32 error
        ///    that occured. 
        /// 
        public WarningException() : this(null, null, null) {
        }
 
        /// 
        /// Initializes a new instance of the  class with 
        ///    the specified message and no Help file. 
        /// 
        public WarningException(string message) : this(message, null, null) { 
        }

        /// 
        /// Initializes a new instance of the  class with 
        ///    the specified message, and with access to the specified Help file.
        ///  
        public WarningException(string message, string helpUrl) : this(message, helpUrl, null) { 
        }
 
        /// 
        ///     Initializes a new instance of the Exception class with a specified error message and a
        ///     reference to the inner exception that is the cause of this exception.
        ///     FxCop CA1032: Multiple constructors are required to correctly implement a custom exception. 
        /// 
        public WarningException( string message, Exception innerException ) 
            : base(message, innerException) { 
        }
 
        /// 
        /// Initializes a new instance of the  class with the
        ///    specified message, and with access to the specified Help file and topic.
        ///  
        public WarningException(string message, string helpUrl, string helpTopic)
            : base(message) { 
            this.helpUrl = helpUrl; 
            this.helpTopic = helpTopic;
        } 

        /// 
        ///     Need this constructor since Exception implements ISerializable.
        ///  
        protected WarningException(SerializationInfo info, StreamingContext context) : base (info, context) {
            helpUrl = (string) info.GetValue("helpUrl", typeof(string)); 
            helpTopic = (string) info.GetValue("helpTopic", typeof(string)); 
        }
 
        /// 
        ///     Specifies the Help file associated with the
        ///       warning. This field is read-only.
        ///  
        public string HelpUrl {
            get { 
                return helpUrl; 
            }
        } 

        /// 
        ///     Specifies the
        ///       Help topic associated with the warning. This field is read-only.  
        /// 
        public string HelpTopic { 
            get { 
                return helpTopic;
            } 
        }

        /// 
        ///     Need this since Exception implements ISerializable and we have fields to save out. 
        /// 
        [SecurityPermission(SecurityAction.Demand, SerializationFormatter=true)] 
        public override void GetObjectData(SerializationInfo info, StreamingContext context) { 
            if (info == null) {
                throw new ArgumentNullException("info"); 
            }

            info.AddValue("helpUrl", helpUrl);
            info.AddValue("helpTopic", helpTopic); 

            base.GetObjectData(info, context); 
        } 
    }
} 

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