// Copyright 2009-2022 Josh Close
// This file is a part of CsvHelper and is dual licensed under MS-PL and Apache 2.0.
// See LICENSE.txt for details or visit http://www.opensource.org/licenses/ms-pl.html for MS-PL and http://opensource.org/licenses/Apache-2.0 for Apache 2.0.
// https://github.com/JoshClose/CsvHelper
using System;
namespace CsvHelper
{
///
/// Represents errors that occur due to bad data.
///
[Serializable]
public class BadDataException : CsvHelperException
{
///
/// The full field unedited.
///
public readonly string Field;
///
/// The full row unedited.
///
public readonly string RawRecord;
///
/// Initializes a new instance of the class.
///
/// The full field unedited.
/// The full row unedited.
/// The reading context.
public BadDataException(string field, string rawRecord, CsvContext context) : base(context)
{
Field = field;
RawRecord = rawRecord;
}
///
/// Initializes a new instance of the class
/// with a specified error message.
///
/// The full field unedited.
/// The full row unedited.
/// The reading context.
/// The message that describes the error.
public BadDataException(string field, string rawRecord, CsvContext context, string message) : base(context, message)
{
Field = field;
RawRecord = rawRecord;
}
///
/// 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.
///
/// The full field unedited.
/// The full row unedited.
/// The reading context.
/// The error message that explains the reason for the exception.
/// The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
public BadDataException(string field, string rawRecord, CsvContext context, string message, Exception innerException) : base(context, message, innerException)
{
Field = field;
RawRecord = rawRecord;
}
}
}