Below is a sample code which is used to create a custom SQL exception with custom message. The parameter accepts the message to be thrown. It is mostly used in Unit testing scenario where you need to validate for a custom message.
Sample Code
Sample Code
private SqlException GetSqlException(string message) { SqlErrorCollection collection = Construct(); SqlError error = Construct (-2, (byte)2, (byte)3, "Server", message, "Prcedure", 100, (uint)1); typeof(SqlErrorCollection) .GetMethod("Add", BindingFlags.NonPublic | BindingFlags.Instance) .Invoke(collection, new object[] { error }); var e = typeof(SqlException) .GetMethod("CreateException", BindingFlags.NonPublic | BindingFlags.Static, null, CallingConventions.ExplicitThis, new[] { typeof(SqlErrorCollection), typeof(string) }, new ParameterModifier[] { }) .Invoke(null, new object[] { collection, "11.0.0" }) as SqlException; return e; }
private T Construct(params object[] p) { return (T)typeof(T).GetConstructors(BindingFlags.NonPublic | BindingFlags.Instance)[0].Invoke(p); }
No comments:
Post a Comment