ConfigurationErrorsException クラス
アセンブリ: System.Configuration (system.configuration.dll 内)

[SerializableAttribute] public ref class ConfigurationErrorsException : public ConfigurationException


カスタム セクションを作成し、そのプロパティの変更時に ConfigurationErrorsException 例外を生成するコード例を次に示します。
Imports System Imports System.Configuration Imports System.Collections.Specialized Imports System.Collections ' Define a custom section. NotInheritable Public Class CustomSection Inherits ConfigurationSection Public Sub New() End Sub 'New <ConfigurationProperty("fileName", DefaultValue:="default.txt", IsRequired:=True, IsKey:=False), StringValidator(InvalidCharacters:=" ~!@#$%^&*()[]{}/;'""|\", MinLength:=1, MaxLength:=60)> _ Public Property FileName() As String Get Return CStr(Me("fileName")) End Get Set(ByVal value As String) Me("fileName") = value End Set End Property <ConfigurationProperty("maxUsers", DefaultValue:=10, IsRequired:=False), LongValidator(MinValue:=1, MaxValue:=100, ExcludeRange:=False)> _ Public Property MaxUsers() As Long Get Return Fix(Me("maxUsers")) End Get Set(ByVal value As Long) Me("maxUsers") = value End Set End Property End Class 'CustomSection ' Create the custom section and write it to ' the configuration file. Class UsingConfigurationErrorsException ' Create a custom section. Shared Sub New() ' Get the application configuration file. Dim config _ As System.Configuration.Configuration = _ 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") Is Nothing Then Dim custSection As New CustomSection() config.Sections.Add("CustomSection", custSection) custSection = config.GetSection("CustomSection") custSection.SectionInformation.ForceSave = True config.Save(ConfigurationSaveMode.Full) End If End Sub 'New ' Modify a custom section and cause configuration ' error exceptions. Shared Sub ModifyCustomSection() Try ' Get the application configuration file. Dim config _ As System.Configuration.Configuration = _ ConfigurationManager.OpenExeConfiguration( _ ConfigurationUserLevel.None) Dim custSection _ As CustomSection = _ config.Sections("CustomSection") ' Change the section properties. custSection.FileName = "newName.txt" ' Cause an exception. custSection.MaxUsers = _ custSection.MaxUsers + 100 If Not custSection.ElementInformation.IsLocked Then config.Save() Else Console.WriteLine( _ "Section was locked, could not update.") End If Catch err As ConfigurationErrorsException Dim msg As String = err.Message Console.WriteLine("Message: {0}", msg) Dim fileName As String = err.Filename Console.WriteLine("Filename: {0}", _ fileName) Dim lineNumber As Integer = err.Line Console.WriteLine("Line: {0}", _ lineNumber.ToString()) Dim bmsg As String = err.BareMessage Console.WriteLine("BareMessage: {0}", bmsg) Dim src As String = err.Source Console.WriteLine("Source: {0}", src) Dim st As String = err.StackTrace Console.WriteLine("StackTrace: {0}", st) End Try End Sub 'ModifyCustomSection Shared Sub Main(ByVal args() As String) ModifyCustomSection() End Sub 'Main End Class 'UsingConfigurationErrorsException
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(); } } }
<?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.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
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- ConfigurationErrorsException クラスのページへのリンク