2002-01-31 Duncan Mak <duncan@ximian.com>
[mono.git] / mcs / class / corlib / System.IO / FileLoadException.cs
1 //
2 // System.IO.FileLoadException.cs
3 //
4 // Author:
5 //   Paolo Molaro (lupus@ximian.com)
6 //   Duncan Mak (duncan@ximian.com)
7 //
8 // (C) 2001 Ximian, Inc.  http://www.ximian.com
9 //
10
11 using System.Globalization;
12 using System.Runtime.Serialization;
13
14 namespace System.IO {
15         [Serializable]
16         public class FileLoadException : SystemException {
17
18                 // Fields
19                 string msg;
20                 Exception inner;
21                 string fileName;
22                 string fusionLog;
23                 
24                 // Constructors
25                 public FileLoadException ()
26                         : base (Locale.GetText ("I/O Error"))
27                 {
28                         msg = Locale.GetText ("I/O Error");
29                 }
30
31                 public FileLoadException (string message)
32                         : base (message)
33                 {
34                         msg = message;
35                 }
36
37                 public FileLoadException (string message, Exception inner)
38                         : base (message, inner)
39                 {
40                         msg = message;
41                         this.inner = inner;
42                 }
43
44                 protected FileLoadException (SerializationInfo info, StreamingContext context)
45                 {
46                         fileName = info.GetString ("FileLoad_FileName");
47                         fusionLog = info.GetString ("FileLoad_FusionLog");
48                 }
49
50                 // Properties
51                 public override string Message
52                 {
53                         get { return msg; }
54                 }
55
56                 public string FileName
57                 {
58                         get { return fileName; }
59                 }
60                 
61                 public string FusionLog
62                 {
63                         get { return fusionLog; }
64                 }
65
66                 // Methods
67                 public override void GetObjectData (SerializationInfo info, StreamingContext context)
68                 {
69                         base.GetObjectData (info, context);
70                         info.AddValue ("FileLoad_FileName", fileName);
71                         info.AddValue ("FileLoad_FusionLog", fusionLog);
72                 }
73                 
74         }
75 }