Java >> Tutoriel Java >  >> Java

Création d'exceptions définies par l'utilisateur en Java

Jusqu'à présent, vous auriez su comment gérer les exceptions en Java qui sont lancées par l'API Java, mais parfois vous devrez parfois lancer votre propre exception, c'est-à-dire si vous rencontrez une situation où aucune de ces exceptions ne décrit votre exception avec précision ou si vous pouvez Si vous ne trouvez pas l'exception appropriée dans l'API Java, vous pouvez coder une classe qui définit une exception plus appropriée et ce mécanisme de gestion des exceptions est appelé Custom ou Exception définie par l'utilisateur .

Dans l'API Java, toutes les classes d'exception ont deux types de constructeur. Le premier est appelé constructeur par défaut qui n'accepte aucun argument. Un autre constructeur accepte un argument de chaîne qui fournit des informations supplémentaires sur l'exception. Ainsi, de cette façon, l'exception personnalisée se comporte comme le reste des classes d'exception dans l'API Java.

Il existe deux cas d'utilisation principaux pour une exception personnalisée :

  • votre code peut simplement lever l'exception personnalisée en cas de problème.
  • Vous pouvez envelopper une exception qui fournit des informations supplémentaires en ajoutant votre propre message.

Le code d'une exception personnalisée :

public class ExceptionClassNameextends Exception
{
	publicExceptionClassName(){ }
	publicExceptionClassName(StringMessage)
	{
		super(message);
	}
}

Considérez le programme :

import java.util.*;
class StudentManagement extends Exception
{ 
	StudentManagement(String errmsg)
	{
		super(errmsg);
	}
}

class UserDefinedException
{
	public static void main(String arg[])
	{ 
		try
		{
			Scanner KB=new Scanner(System.in);
			System.out.print("Enter Percentage:");
			int per=KB.nextInt();
			if(!(per>=0 && per<=100))
			{ 
				throw(new StudentManagement("Invalid Percentage...."+per));
			}
			else
			{
				System.out.println("Valid Percentage...");
			}
		}
		catch(StudentManagement e)
		{
			System.out.println(e);
		}
	}
}

Balise Java