ConfigurationException
The exception that is thrown when a configuration system error has occurred.
using System.Configuration.Internal;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.Serialization;
using System.Xml;
namespace System.Configuration
{
[Serializable]
[TypeForwardedFrom("System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
public class ConfigurationException : SystemException
{
private string _filename;
private int _line;
public override string Message {
get {
string filename = Filename;
int line;
if (!string.IsNullOrEmpty(filename)) {
if (Line == 0)
return BareMessage + " (" + filename + ")";
string[] obj = new string[6] {
BareMessage,
" (",
filename,
" line ",
null,
null
};
line = Line;
obj[4] = line.ToString(CultureInfo.InvariantCulture);
obj[5] = ")";
return string.Concat(obj);
}
if (Line == 0)
return BareMessage;
string bareMessage = BareMessage;
line = Line;
return bareMessage + " (line " + line.ToString("G", CultureInfo.InvariantCulture) + ")";
}
}
public virtual string BareMessage => base.Message;
public virtual string Filename => _filename;
public virtual int Line => _line;
protected ConfigurationException(SerializationInfo info, StreamingContext context)
: base(info, context)
{
Init(info.GetString("filename"), info.GetInt32("line"));
}
[Obsolete("This class is obsolete, to create a new exception create a System.Configuration!System.Configuration.ConfigurationErrorsException")]
public ConfigurationException()
: this(null, null, null, 0)
{
}
[Obsolete("This class is obsolete, to create a new exception create a System.Configuration!System.Configuration.ConfigurationErrorsException")]
public ConfigurationException(string message)
: this(message, null, null, 0)
{
}
[Obsolete("This class is obsolete, to create a new exception create a System.Configuration!System.Configuration.ConfigurationErrorsException")]
public ConfigurationException(string message, Exception inner)
: this(message, inner, null, 0)
{
}
[Obsolete("This class is obsolete, to create a new exception create a System.Configuration!System.Configuration.ConfigurationErrorsException")]
public ConfigurationException(string message, XmlNode node)
: this(message, null, GetXmlNodeFilename(node), GetXmlNodeLineNumber(node))
{
}
[Obsolete("This class is obsolete, to create a new exception create a System.Configuration!System.Configuration.ConfigurationErrorsException")]
public ConfigurationException(string message, Exception inner, XmlNode node)
: this(message, inner, GetXmlNodeFilename(node), GetXmlNodeLineNumber(node))
{
}
[Obsolete("This class is obsolete, to create a new exception create a System.Configuration!System.Configuration.ConfigurationErrorsException")]
public ConfigurationException(string message, string filename, int line)
: this(message, null, filename, line)
{
}
[Obsolete("This class is obsolete, to create a new exception create a System.Configuration!System.Configuration.ConfigurationErrorsException")]
public ConfigurationException(string message, Exception inner, string filename, int line)
: base(message, inner)
{
Init(filename, line);
}
private void Init(string filename, int line)
{
base.HResult = -2146232062;
_filename = filename;
_line = line;
}
public override void GetObjectData(SerializationInfo info, StreamingContext context)
{
base.GetObjectData(info, context);
info.AddValue("filename", _filename);
info.AddValue("line", _line);
}
[Obsolete("This class is obsolete, use System.Configuration!System.Configuration.ConfigurationErrorsException.GetFilename instead")]
public static string GetXmlNodeFilename(XmlNode node)
{
return (node as IConfigErrorInfo)?.Filename ?? string.Empty;
}
[Obsolete("This class is obsolete, use System.Configuration!System.Configuration.ConfigurationErrorsException.GetFilename instead")]
public static int GetXmlNodeLineNumber(XmlNode node)
{
return (node as IConfigErrorInfo)?.LineNumber ?? 0;
}
}
}