ConfigurationErrorsException Class
.NET Framework 2.0
Note: This class is new in the .NET Framework version 2.0.
The exception that is thrown when a configuration-system error has occurred.
Namespace: System.Configuration
Assembly: System.Configuration (in system.configuration.dll)
Assembly: System.Configuration (in system.configuration.dll)
The following code example creates a custom section and generates a ConfigurationErrorsException exception when modifying its properties.
using System; using System.Configuration; using System.Collections.Specialized; using System.Collections; namespace Samples.AspNet { // Define a custom section. public sealed class CustomSection : ConfigurationSection { public CustomSection() { [ConfigurationProperty("fileName", DefaultValue = "default.txt", IsRequired = true, IsKey = false)] [StringValidator(InvalidCharacters = " ~!@#$%^&*()[]{/;'\"|\\", MinLength = 1, MaxLength = 60)] public string FileName { get { return (string)this["fileName"]; set { this["fileName"] = value; [ConfigurationProperty("maxUsers", DefaultValue = (long)10, IsRequired = false)] [LongValidator(MinValue = 1, MaxValue = 100, ExcludeRange = false)] public long MaxUsers { get { return (long)this["maxUsers"]; set { this["maxUsers"] = value; // Create the custom section and write it to // the configuration file. class UsingConfigurationErrorsException { // Create a custom section. static UsingConfigurationErrorsException() { // Get the application configuration file. System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None); // If the section does not exist in the configuration // file, create it and save it to the file. if (config.Sections["CustomSection"] == null) { CustomSection custSection = new CustomSection(); config.Sections.Add("CustomSection", custSection); custSection = config.GetSection("CustomSection") as CustomSection; custSection.SectionInformation.ForceSave = true; config.Save(ConfigurationSaveMode.Full); // Modify a custom section and cause configuration // error exceptions. static void ModifyCustomSection() { try { // Get the application configuration file. System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None); CustomSection custSection = config.Sections["CustomSection"] as CustomSection; // Change the section properties. custSection.FileName = "newName.txt"; // Cause an exception. custSection.MaxUsers = custSection.MaxUsers + 100; if (!custSection.ElementInformation.IsLocked) config.Save(); else Console.WriteLine( "Section was locked, could not update."); catch (ConfigurationErrorsException err) { string msg = err.Message; Console.WriteLine("Message: {0", msg); string fileName = err.Filename; Console.WriteLine("Filename: {0", fileName); int lineNumber = err.Line; Console.WriteLine("Line: {0", lineNumber.ToString()); string bmsg = err.BareMessage; Console.WriteLine("BareMessage: {0", bmsg); string source = err.Source; Console.WriteLine("Source: {0", source); string st = err.StackTrace; Console.WriteLine("StackTrace: {0", st); static void Main(string[] args) { ModifyCustomSection();
The following configuration excerpt is used by the previous example.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="CustomSection" type="Samples.AspNet.CustomSection,
ConfigurationErrorsException, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=null" allowDefinition="Everywhere"
allowExeDefinition="MachineToApplication"
restartOnExternalChanges="true" />
</configSections>
<CustomSection fileName="default.txt" maxUsers="10" />
</configuration>
System.Object
System.Exception
System.SystemException
System.Configuration.ConfigurationException
System.Configuration.ConfigurationErrorsException
System.Exception
System.SystemException
System.Configuration.ConfigurationException
System.Configuration.ConfigurationErrorsException
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.