#region Apache Notice
/*****************************************************************************
* $Header: $
* $Revision$
* $Date$
*
* iBATIS.NET Data Mapper
* Copyright (C) 2004 - Gilles Bayon
*
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
********************************************************************************/
#endregion
using System;
using System.Runtime.Serialization;
namespace IBatisNet.Common.Exceptions
{
///
/// A DALForeignKeyException is thrown when foreign key error occured in a sql statement.
///
///
/// This exception is not used by the framework.
///
[Serializable]
public class ForeignKeyException : IBatisNetException
{
///
/// Initializes a new instance of the DalException class.
///
///
/// This constructor initializes the Message property of the new instance
/// to a system-supplied message that describes the error.
///
public ForeignKeyException() : base("A foreign key conflict has occurred.") { }
///
/// Initializes a new instance of the
/// class with a reference to the inner exception that is the cause of this exception.
///
///
/// This constructor initializes the Message property of the new instance to the Message property
/// of the passed in exception.
///
///
/// The exception that is the cause of the current exception.
/// If the innerException parameter is not a null reference (Nothing in Visual Basic),
/// the current exception is raised in a catch block that handles the inner exception.
///
public ForeignKeyException(Exception ex) : base (ex.Message,ex) {}
///
/// Initializes a new instance of the
/// class with a specified error message.
///
///
/// This constructor initializes the Message property of the new instance using
/// the message parameter.
///
/// The message that describes the error.
public ForeignKeyException( string message ) : base ( message ) { }
///
/// Initializes a new instance of the
/// class with a specified error message and a reference to the inner exception that is the cause of this exception.
///
///
/// An exception that is thrown as a direct result of a previous exception should include a reference to the previous exception in the InnerException property.
/// The InnerException property returns the same value that is passed into the constructor, or a null reference (Nothing in Visual Basic) if the InnerException property does not supply the inner exception value to the constructor.
///
/// The message that describes the error.
/// The exception that caused the error
public ForeignKeyException( string message, Exception inner ) : base ( message, inner ) { }
///
/// Initializes a new instance of the Exception class with serialized data.
///
///
/// This constructor is called during deserialization to reconstitute the exception
/// object transmitted over a stream.
///
///
/// The that holds the serialized object data about the exception being thrown.
///
///
/// The that contains contextual information about the source or destination.
///
protected ForeignKeyException(SerializationInfo info, StreamingContext context) : base (info, context) {}
}
}