2009-11-21 Daniel Morgan <monodanmorg@yahoo.com>
[mono.git] / mcs / class / System.Data.OracleClient / System.Data.OracleClient / OracleException.cs
index 3571948baf20970754f04856d249eb534aa56cb0..0eacb644e185937fe0d8b4f9282518499e5e394c 100644 (file)
@@ -21,27 +21,29 @@ using System.Runtime.Serialization;
 
 namespace System.Data.OracleClient {
        [Serializable]
-       public sealed class OracleException : SystemException
+       public sealed class OracleException
+#if NET_2_0
+               : System.Data.Common.DbException
+#else
+               : SystemException
+#endif //NET_1_1       
        {
                #region Fields
 
-               int code;
-               string message;
+               private int code;
 
                #endregion // Fields
 
                #region Constructors
 
-               internal OracleException (int code, string message)
+               internal OracleException (int code, string message) : base (message)
                {
                        this.code = code;
-                       this.message = message;
                }
 
                private OracleException (SerializationInfo si, StreamingContext sc) : base(si, sc)
                {
-                       message = si.GetString ("message");
-                       code = si.GetInt32 ("source");
+                       code = si.GetInt32 ("code");
                }
 
                #endregion // Constructors
@@ -52,10 +54,16 @@ namespace System.Data.OracleClient {
                        get { return code; }
                }
 
-               public override string Message {
-                       get { return message; }
+               #endregion // Properties
+
+               #region Override implementation of Exception
+
+               public override void GetObjectData (SerializationInfo si, StreamingContext context)
+               {
+                       si.AddValue ("code", code, typeof(int));
+                       base.GetObjectData (si, context);
                }
 
-               #endregion // Properties
+               #endregion Override implementation of Exception
        }
 }