//--------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Data.Common.Utils; using System.Data.Mapping.ViewGeneration.Structures; using System.Runtime.Serialization; namespace System.Data { /// /// Mapping exception class. Note that this class has state - so if you change even /// its internals, it can be a breaking change /// [Serializable] internal class InternalMappingException : EntityException { // effects: constructor with default message #region Constructors /// /// default constructor /// internal InternalMappingException() // required ctor : base() { } /// /// default constructor /// /// localized error message [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] // required CTOR for exceptions. internal InternalMappingException(string message) // required ctor : base(message) { } /// /// constructor /// /// localized error message /// inner exception [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] // required CTOR for exceptions. internal InternalMappingException(string message, Exception innerException) // required ctor : base(message, innerException) { } /// /// constructor /// /// /// protected InternalMappingException(SerializationInfo info, StreamingContext context) : base(info, context) { } // effects: constructor that allows a log internal InternalMappingException(string message, ErrorLog errorLog) : base(message) { EntityUtil.CheckArgumentNull(errorLog, "errorLog"); m_errorLog = errorLog; } // effects: constructor that allows single mapping error internal InternalMappingException(string message, ErrorLog.Record record) : base(message) { EntityUtil.CheckArgumentNull(record, "record"); m_errorLog = new ErrorLog(); m_errorLog.AddEntry(record); } #endregion #region Fields // Keep track of mapping errors that we want to give to the // user in one shot private ErrorLog m_errorLog; #endregion #region Properties /// /// Returns the inner exceptions stored in this /// internal ErrorLog ErrorLog { get { return m_errorLog; } } #endregion } }