You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mastermind/Sources/CoreLibrary/Exceptions/CodeIncompletException.cs

52 lines
1.9 KiB

using System.Runtime.Serialization;
namespace CoreLibrary.Exceptions
{
/// <summary>
/// Exception levée lorsqu'un code incomplet est ajouté à la grille.
/// </summary>
[DataContract]
public class CodeIncompletException : Exception
{
[DataMember]
public int CodeErreur { get; private set; } = 1000;
[DataMember]
public string Details { get; private set; } = String.Empty;
// Message par défaut
private const string messageDefaut = "Le code que vous essayez d'ajouter dans la grille n'est pas complet.";
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="CodeIncompletException"/> avec le message par défaut.
/// </summary>
public CodeIncompletException() : base(messageDefaut)
{ }
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="CodeIncompletException"/> avec le message spécifié.
/// </summary>
public CodeIncompletException(string message) : base(message)
{ }
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="CodeIncompletException"/> avec le message et l'exception parent spécifié.
/// </summary>
public CodeIncompletException(string message, Exception exception) : base(message, exception)
{ }
public CodeIncompletException(string message, int codeErreur, string details) : base(message)
{
CodeErreur = codeErreur;
Details = details;
}
protected CodeIncompletException(SerializationInfo info, StreamingContext contexte)
: base(info.GetString("Message"), null)
{
CodeErreur = info.GetInt32(nameof(CodeErreur));
Details = info.GetString(nameof(Details)) ?? "";
}
}
}