-
Notifications
You must be signed in to change notification settings - Fork 934
/
Copy pathQueryException.cs
140 lines (127 loc) · 4.59 KB
/
QueryException.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
using System;
using System.Runtime.Serialization;
using System.Security;
using System.Security.Permissions;
namespace NHibernate
{
/// <summary>
/// A problem occurred translating a Hibernate query to SQL due to invalid query syntax, etc.
/// </summary>
[Serializable]
public class QueryException : HibernateException, ISerializable
{
private string queryString;
protected QueryException() {}
/// <summary>
/// Initializes a new instance of the <see cref="QueryException"/> class.
/// </summary>
/// <param name="message">The message that describes the error. </param>
public QueryException(string message) : base(message)
{
}
/// <summary>
/// Initializes a new instance of the <see cref="QueryException"/> class.
/// </summary>
/// <param name="message">The message that describes the error. </param>
/// <param name="innerException">
/// The exception that is the cause of the current exception. If the innerException parameter
/// is not a null reference, the current exception is raised in a catch block that handles
/// the inner exception.
/// </param>
public QueryException(string message, Exception innerException) : base(message, innerException)
{
}
/// <summary>
/// Initializes a new instance of the <see cref="QueryException"/> class.
/// </summary>
/// <param name="message">The message that describes the error. </param>
/// <param name="queryString">The query that contains the error.</param>
public QueryException(string message, string queryString) : base(message)
{
this.queryString = queryString;
}
/// <summary>
/// Initializes a new instance of the <see cref="QueryException"/> class.
/// </summary>
/// <param name="message">The message that describes the error. </param>
/// <param name="queryString">The query that contains the error.</param>
/// <param name="innerException">
/// The exception that is the cause of the current exception. If the innerException parameter
/// is not a null reference, the current exception is raised in a catch block that handles
/// the inner exception.
/// </param>
public QueryException(string message, string queryString, Exception innerException) : base(message, innerException)
{
this.queryString = queryString;
}
/// <summary>
/// Initializes a new instance of the <see cref="QueryException"/> class.
/// </summary>
/// <param name="innerException">
/// The exception that is the cause of the current exception. If the innerException parameter
/// is not a null reference, the current exception is raised in a catch block that handles
/// the inner exception.
/// </param>
public QueryException(Exception innerException) : base(innerException)
{
}
/// <summary>
/// Gets or sets the <see cref="String"/> of HQL that caused the Exception.
/// </summary>
public string QueryString
{
get { return queryString; }
set { queryString = value; }
}
/// <summary>
/// Gets a message that describes the current <see cref="QueryException"/>.
/// </summary>
/// <value>The error message that explains the reason for this exception including the HQL.</value>
public override string Message
{
get
{
string msg = base.Message;
if (queryString != null)
{
msg += " [" + queryString + "]";
}
return msg;
}
}
#region ISerializable Members
/// <summary>
/// Initializes a new instance of the <see cref="QueryException"/> class
/// with serialized data.
/// </summary>
/// <param name="info">
/// The <see cref="SerializationInfo"/> that holds the serialized object
/// data about the exception being thrown.
/// </param>
/// <param name="context">
/// The <see cref="StreamingContext"/> that contains contextual information about the source or destination.
/// </param>
protected QueryException(SerializationInfo info, StreamingContext context) : base(info, context)
{
queryString = info.GetString("queryString");
}
/// <summary>
/// Sets the serialization info for <see cref="QueryException"/> after
/// getting the info from the base Exception.
/// </summary>
/// <param name="info">
/// The <see cref="SerializationInfo"/> that holds the serialized object
/// data about the exception being thrown.
/// </param>
/// <param name="context">
/// The <see cref="StreamingContext"/> that contains contextual information about the source or destination.
/// </param>
[SecurityCritical]
public override void GetObjectData(SerializationInfo info, StreamingContext context)
{
base.GetObjectData(info, context);
info.AddValue("queryString", queryString, typeof(String));
}
#endregion
}
}