私たちが取り組んでいるアプリケーションでは、ビジネス ルールの違反が発生すると、カスタム例外を発生させて状況を処理します。カスタム例外は、アプリケーションの固有のシナリオに対処するために特別に作成された例外です。カスタム例外を作成するには、C# の ApplicationException クラスまたは Exception クラスから新しいクラスを派生します。 ApplicationException クラスは、バージョン .NET v1.0 以降の .NET Framework に含まれており、C# のカスタム例外クラスの基本クラスとして機能するように設計されています。
言及されている例を以下に示します:
プログラム内でのカスタム例外の使用を示す C# プログラム。
コード:
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); } } }
出力:
説明:
プログラム内でのカスタム例外の使用を示す C# プログラム。
コード:
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(); } } }
出力:
説明:
以下に挙げる利点を示します:
以上がC# のカスタム例外の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。