<PackageReference Include="System.Configuration.ConfigurationManager" Version="6.0.0-rc.2.21480.5" />

ConfigurationErrorsException

The exception that is thrown when a configuration error has occurred.
using System.Collections; using System.Collections.Generic; using System.Configuration.Internal; using System.Globalization; using System.Runtime.CompilerServices; using System.Runtime.Serialization; using System.Xml; namespace System.Configuration { [Serializable] [TypeForwardedFrom("System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] public class ConfigurationErrorsException : ConfigurationException { private const string SerializationParamFilename = "firstFilename"; private const string SerializationParamLine = "firstLine"; private const string SerializationParamErrorCount = "count"; private const string SerializationParamErrorData = "_errors"; private const string SerializationParamErrorType = "_errors_type"; private readonly ConfigurationException[] _errors; private string _firstFilename; private int _firstLine; 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.CurrentCulture); obj[5] = ")"; return string.Concat(obj); } if (Line == 0) return BareMessage; string bareMessage = BareMessage; line = Line; return bareMessage + " (line " + line.ToString("G", CultureInfo.CurrentCulture) + ")"; } } public override string Filename => _firstFilename; public override int Line => _firstLine; public ICollection Errors { get { if (_errors != null) return _errors; ConfigurationErrorsException ex = new ConfigurationErrorsException(BareMessage, base.InnerException, _firstFilename, _firstLine); return new ConfigurationException[1] { ex }; } } internal ICollection<ConfigurationException> ErrorsGeneric => (ICollection<ConfigurationException>)Errors; public ConfigurationErrorsException(string message, Exception inner, string filename, int line) : base(message, inner) { Init(filename, line); } public ConfigurationErrorsException() : this(null, null, null, 0) { } public ConfigurationErrorsException(string message) : this(message, null, null, 0) { } public ConfigurationErrorsException(string message, Exception inner) : this(message, inner, null, 0) { } public ConfigurationErrorsException(string message, string filename, int line) : this(message, null, filename, line) { } public ConfigurationErrorsException(string message, XmlNode node) : this(message, null, GetFilename(node), GetLineNumber(node)) { } public ConfigurationErrorsException(string message, Exception inner, XmlNode node) : this(message, inner, GetFilename(node), GetLineNumber(node)) { } public ConfigurationErrorsException(string message, XmlReader reader) : this(message, null, GetFilename(reader), GetLineNumber(reader)) { } public ConfigurationErrorsException(string message, Exception inner, XmlReader reader) : this(message, inner, GetFilename(reader), GetLineNumber(reader)) { } internal ConfigurationErrorsException(string message, IConfigErrorInfo errorInfo) : this(message, null, GetConfigErrorInfoFilename(errorInfo), GetConfigErrorInfoLineNumber(errorInfo)) { } internal ConfigurationErrorsException(string message, Exception inner, IConfigErrorInfo errorInfo) : this(message, inner, GetConfigErrorInfoFilename(errorInfo), GetConfigErrorInfoLineNumber(errorInfo)) { } internal ConfigurationErrorsException(ConfigurationException e) : this(e?.BareMessage, e?.InnerException, e?.Filename, e?.Line ?? 0) { } internal ConfigurationErrorsException(ICollection<ConfigurationException> coll) : this(GetFirstException(coll)) { if (coll.Count > 1) { _errors = new ConfigurationException[coll.Count]; coll.CopyTo(_errors, 0); } } internal ConfigurationErrorsException(ArrayList coll) : this((ConfigurationException)((coll.Count > 0) ? coll[0] : null)) { if (coll.Count > 1) { _errors = new ConfigurationException[coll.Count]; coll.CopyTo(_errors, 0); } } protected ConfigurationErrorsException(SerializationInfo info, StreamingContext context) : base(info, context) { string string = info.GetString("firstFilename"); int int = info.GetInt32("firstLine"); Init(string, int); int int2 = info.GetInt32("count"); if (int2 == 0) return; _errors = new ConfigurationException[int2]; int num = 0; while (true) { if (num >= int2) return; string str = num.ToString(CultureInfo.InvariantCulture); string string2 = info.GetString(str + "_errors_type"); Type type = Type.GetType(string2, true); if (type != typeof(ConfigurationException) && type != typeof(ConfigurationErrorsException)) break; _errors[num] = (ConfigurationException)info.GetValue(str + "_errors", type); num++; } throw ExceptionUtil.UnexpectedError("ConfigurationErrorsException"); } private void Init(string filename, int line) { base.HResult = -2146232062; if (line == -1) line = 0; _firstFilename = filename; _firstLine = line; } private static ConfigurationException GetFirstException(ICollection<ConfigurationException> coll) { using (IEnumerator<ConfigurationException> enumerator = coll.GetEnumerator()) { if (enumerator.MoveNext()) return enumerator.Current; } return null; } public override void GetObjectData(SerializationInfo info, StreamingContext context) { base.GetObjectData(info, context); info.AddValue("firstFilename", Filename); info.AddValue("firstLine", Line); int value = 0; if (_errors != null && _errors.Length > 1) { value = _errors.Length; for (int i = 0; i < _errors.Length; i++) { string str = i.ToString(CultureInfo.InvariantCulture); info.AddValue(str + "_errors", _errors[i]); info.AddValue(str + "_errors_type", _errors[i].GetType()); } } info.AddValue("count", value); } public static int GetLineNumber(XmlNode node) { return GetConfigErrorInfoLineNumber(node as IConfigErrorInfo); } public static string GetFilename(XmlNode node) { return GetConfigErrorInfoFilename(node as IConfigErrorInfo); } public static int GetLineNumber(XmlReader reader) { return GetConfigErrorInfoLineNumber(reader as IConfigErrorInfo); } public static string GetFilename(XmlReader reader) { return GetConfigErrorInfoFilename(reader as IConfigErrorInfo); } private static int GetConfigErrorInfoLineNumber(IConfigErrorInfo errorInfo) { return errorInfo?.LineNumber ?? 0; } private static string GetConfigErrorInfoFilename(IConfigErrorInfo errorInfo) { return errorInfo?.Filename; } } }