[Serializable]
public class ConfigurationException : SystemException
{
- // Fields
- string bareMessage;
- string filename;
- int line;
+ // Fields
+ readonly string filename;
+ readonly int line;
//
// Constructors
//
-#if NET_2_0
[Obsolete ("This class is obsolete. Use System.Configuration.ConfigurationErrorsException")]
-#endif
- public ConfigurationException ()
- : base (Locale.GetText ("There is an error in a configuration setting."))
+ public ConfigurationException () : this (null)
{
filename = null;
- bareMessage = Locale.GetText ("There is an error in a configuration setting.");
line = 0;
}
-#if NET_2_0
[Obsolete ("This class is obsolete. Use System.Configuration.ConfigurationErrorsException")]
-#endif
public ConfigurationException (string message)
: base (message)
{
- bareMessage = message;
}
protected ConfigurationException (SerializationInfo info, StreamingContext context)
line = info.GetInt32 ("line");
}
-#if NET_2_0
[Obsolete ("This class is obsolete. Use System.Configuration.ConfigurationErrorsException")]
-#endif
public ConfigurationException (string message, Exception inner)
: base (message, inner)
{
- bareMessage = message;
}
#if (XML_DEP)
-#if NET_2_0
[Obsolete ("This class is obsolete. Use System.Configuration.ConfigurationErrorsException")]
-#endif
public ConfigurationException (string message, XmlNode node)
: base (message)
{
filename = GetXmlNodeFilename(node);
line = GetXmlNodeLineNumber(node);
- bareMessage = message;
}
-#if NET_2_0
[Obsolete ("This class is obsolete. Use System.Configuration.ConfigurationErrorsException")]
-#endif
public ConfigurationException (string message, Exception inner, XmlNode node)
: base (message, inner)
{
filename = GetXmlNodeFilename (node);
line = GetXmlNodeLineNumber (node);
- bareMessage = message;
}
#endif
-#if NET_2_0
[Obsolete ("This class is obsolete. Use System.Configuration.ConfigurationErrorsException")]
-#endif
public ConfigurationException (string message, string filename, int line)
: base (message)
{
- bareMessage = message;
this.filename = filename;
this.line= line;
}
-#if NET_2_0
[Obsolete ("This class is obsolete. Use System.Configuration.ConfigurationErrorsException")]
-#endif
public ConfigurationException (string message, Exception inner, string filename, int line)
- : base (message)
+ : base (message, inner)
{
- bareMessage = message;
this.filename = filename;
this.line = line;
}
//
// Properties
//
- public
-#if NET_2_0
- virtual
-#endif
- string BareMessage
- {
- get { return bareMessage; }
+ public virtual string BareMessage {
+ get { return base.Message; }
}
- public
-#if NET_2_0
- virtual
-#endif
- string Filename
- {
+ public virtual string Filename {
get { return filename; }
}
- public
-#if NET_2_0
- virtual
-#endif
- int Line
- {
+ public virtual int Line {
get { return line; }
}
- public override string Message
- {
+ public override string Message {
get {
- string baseMsg = base.Message;
- string f = (filename == null) ? String.Empty : filename;
- string l = (line == 0) ? String.Empty : (" line " + line);
-
- return baseMsg + " (" + f + l + ")";
+ string msg;
+ if (filename != null && filename.Length != 0) {
+ if (line != 0)
+ msg = BareMessage + " (" + filename + " line " + line + ")";
+ else
+ msg = BareMessage + " (" + filename + ")";
+ } else {
+ if (line != 0)
+ msg = BareMessage + " (line " + line + ")";
+ else
+ msg = BareMessage;
+ }
+ return msg;
}
}
// Methods
//
#if (XML_DEP)
-#if NET_2_0
[Obsolete ("This class is obsolete. Use System.Configuration.ConfigurationErrorsException")]
-#endif
public static string GetXmlNodeFilename (XmlNode node)
{
if (!(node is IConfigXmlNode))
return ((IConfigXmlNode) node).Filename;
}
-#if NET_2_0
[Obsolete ("This class is obsolete. Use System.Configuration.ConfigurationErrorsException")]
-#endif
public static int GetXmlNodeLineNumber (XmlNode node)
{
if (!(node is IConfigXmlNode))