Dans l'application sur laquelle nous travaillons, lorsqu'une violation d'une règle métier se produit, nous générons une exception personnalisée pour gérer la situation. Une exception personnalisée est une exception spécifiquement créée pour répondre à des scénarios uniques dans notre application. Pour créer une exception personnalisée, nous dérivons une nouvelle classe de la classe ApplicationException ou Exception en C#. La classe ApplicationException est incluse dans le .NET Framework à partir de la version .NET v1.0 et est conçue pour servir de classe de base pour les classes d'exception personnalisées en C#.
Vous trouverez ci-dessous les exemples mentionnés :
Programme C# pour démontrer l'utilisation des exceptions personnalisées dans un programme.
Code :
using System; //a namespace called user defined is defined namespace UserDefined { //a class called test weather is defined class Testweather { //main method is called static void Main(string[] args) { //an instance of the class temperat is defined Temperat tem = new Temperat(); try { //the show method of temperat class is called using the instance of the temperat class tem.show(); } catch(WeatheriscoldException e) { Console.WriteLine("The weather is cold Exception: {0}", e.Message); } Console.ReadKey(); } } } //a custom exception class called Weather is cold Exception class is created which is thrown if the weather is cold public class WeatheriscoldException: Exception { public WeatheriscoldException(string message): base(message) { } } //a class called temperat is defined public class Temperat { //a variable called temp is defined and assigned to zero int temp = 0; //a method called show is defined public void show() { //the temperature is checked to determine the weather if(temp == 0) { throw (new WeatheriscoldException("The temperature is found to be zero and hence the weather is cold")); } else { Console.WriteLine("The Temperature is: {0}", temp); } } }
Sortie :
Explication :
Programme C# pour démontrer l'utilisation d'exceptions personnalisées dans un programme.
Code :
using System; //a namespace called exception handling is defined namespace ExceptionHandling { //The custom exception class called odd num exception class is created by inheriting the exception class public class OddNumException : Exception { //The property message is being overridden here public override string Message { get { return "There cannot be an odd divisor"; } } } //a class called check is defined class check { //main method is called static void Main(string[] args) { //three integer variables are defined int a, b, c; Console.WriteLine("Please enter two numbers and type of the numbers must be integer:"); a = int.Parse(Console.ReadLine()); b = int.Parse(Console.ReadLine()); try { //checking if the divisor is an odd number or an even number if (b % 2 > 0) { //exception is thrown if the divisor is an odd number throw new OddNumException(); } c = a / b; Console.WriteLine(c); } catch (OddNumException two) { Console.WriteLine(two.Message); } Console.WriteLine("The program ends here"); Console.ReadKey(); } } }
Sortie :
Explication :
Vous trouverez ci-dessous les avantages mentionnés :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!