3 // Permission is hereby granted, free of charge, to any person obtaining
4 // a copy of this software and associated documentation files (the
5 // "Software"), to deal in the Software without restriction, including
6 // without limitation the rights to use, copy, modify, merge, publish,
7 // distribute, sublicense, and/or sell copies of the Software, and to
8 // permit persons to whom the Software is furnished to do so, subject to
9 // the following conditions:
11 // The above copyright notice and this permission notice shall be
12 // included in all copies or substantial portions of the Software.
14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 using System
.Runtime
.InteropServices
;
25 using System
.Runtime
.Serialization
;
27 namespace IBM
.Data
.DB2
32 public sealed class DB2Exception
: Exception
34 private DB2ErrorCollection errors
;
35 private string message
;
38 public DB2ErrorCollection Errors
45 public override string Message
52 for(int i
= 0; i
< errors
.Count
; i
++)
58 result
+= "ERROR [" + errors
[i
].SQLState
+ "] " + errors
[i
].Message
;
62 result
+= " " + message
;
66 return "No error information";
70 private DB2Exception(SerializationInfo si
, StreamingContext sc
)
72 throw new NotImplementedException();
74 public override void GetObjectData(SerializationInfo si
, StreamingContext context
)
76 throw new NotImplementedException();
79 internal DB2Exception(short sqlHandleType
, IntPtr sqlHandle
, string message
)
81 this.message
= message
;
82 errors
= new DB2ErrorCollection(sqlHandleType
, sqlHandle
);