Oui, mais ce que vous devez faire est d'abord créer vos propres exceptions personnalisées. Vous devez déduire votre exception de la classe de base Exception. Voici un exemple:
[Serializable]
public class LoginFailedException: Exception
{
public LoginFailedException() : base()
{
}
public LoginFailedException(string message)
: base(message)
{
}
public LoginFailedException(string message, Exception innerException)
: base(message, innerException)
{
}
protected LoginFailedException(SerializationInfo info, StreamingContext context)
: base(info, context)
{
}
}
Puis dans votre code, vous devez soulever cette exception de façon appropriée:
private void Login(string username, string password)
{
if (username != DBUsername && password != DBPassword)
{
throw new LoginFailedException("Login details are incorrect");
}
// else login...
}
private void ButtonClick(object sender, EventArgs e)
{
try
{
Login(txtUsername.Text, txtPassword.Text);
}
catch (LoginFailedException ex)
{
// handle exception.
}
}
Dup http://stackoverflow.com/questions/1573130/net-throwing-custom- exceptions – andrewWinn
Ce n'est pas vraiment un doublon, mais il est lié à cette question. Rahuls, je regarderais spécifiquement cette réponse, et les liens qui y sont contenus: http://stackoverflow.com/questions/1573130/net-throwing-custom-exceptions/1573156#1573156 –
Merci beaucoup, les informations/liens sont très utiles –