C# のカスタム例外
私たちが取り組んでいるアプリケーションでは、ビジネス ルールの違反が発生すると、カスタム例外を発生させて状況を処理します。カスタム例外は、アプリケーションの固有のシナリオに対処するために特別に作成された例外です。カスタム例外を作成するには、C# の ApplicationException クラスまたは Exception クラスから新しいクラスを派生します。 ApplicationException クラスは、バージョン .NET v1.0 以降の .NET Framework に含まれており、C# のカスタム例外クラスの基本クラスとして機能するように設計されています。
C# でのカスタム例外の仕組み
- 例外は、アプリケーションの実行中に発生するタイプのエラーを処理します。エラーとは、アプリケーションの実行中に発生する予期しない問題を意味します。それどころか、いくつかの理由により、アプリケーションの実行中に例外が発生することが予想されます。
- 例外処理は、アプリケーションの実行中に発生すると予想される例外を処理するためにアプリケーションによって使用されます。 C# での例外の処理は、try、catch、finally、throw の 2 つのキーワードを使用して行われます。
- クラスは C# の例外を表します。 C# のこれらの例外クラスは System.直接的または間接的な例外クラス。
- Application Exception クラスまたは Exception クラスは、スローできるカスタム例外を作成するために使用されます。
- カスタム例外の作成は、これらの例外をキャッチでき、別の方法で処理できる場合にのみ役立ちます。
- アプリケーションでエラーが発生しました。C# でカスタム例外を作成している場合は、エラー監視ツールを使用してエラーのログを監視できます。
例
言及されている例を以下に示します:
例 #1
プログラム内でのカスタム例外の使用を示す 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); } } }
出力:
説明:
- 上記のプログラムでは、ユーザー定義という名前空間が定義されています。次に、テスト天気というクラスが定義されます。次に、main メソッドが呼び出されます。次に、クラス temperat のインスタンスが定義されます。次に、temperat クラスのインスタンスを使用して、temperat クラスの show メソッドが呼び出されます。
- 次に、Weather is cold Exception クラスというカスタム例外クラスが作成され、天気が寒い場合にスローされます。次に、temperat というクラスが定義されます。次に、temp という変数が定義され、0 に割り当てられます。次に、show というメソッドが定義されます。次に、気温をチェックして天気を判断します。
例 #2
プログラム内でのカスタム例外の使用を示す 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(); } } }
出力:
説明:
- 上記のプログラムでは、例外処理という名前空間が定義されています。そして、例外クラスを継承して奇数例外クラスと呼ばれるこのクラスを作成します。その後、プロパティ メッセージがそこでオーバーライドされます。次に、check というクラスが定義されます。次に、main メソッドが呼び出されます。次に、2 つの入力整数変数を受け取るために 3 つの整数変数が定義され、もう 1 つの整数変数は整数出力を格納するために使用されます。
- 次に、parse() メソッドを使用して 2 つの整数変数が解析されます。次に、2 番目の整数変数または除数が奇数か偶数かを確認します。これは、除数を 2 で割った余りが 0 より大きいか、0 に等しいかを確認することによって行われます。その後、除数が奇数の場合は例外がスローされます。
メリット
以下に挙げる利点を示します:
- C# でのカスタム例外タイプのカスタム処理は、コードを呼び出すことで実行できます。
- カスタム例外タイプに関する監視は、C# のカスタム例外処理を使用してカスタム化できます。
以上がC# のカスタム例外の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











C# を使用した Active Directory のガイド。ここでは、Active Directory の概要と、C# での動作方法について、構文と例とともに説明します。

C# データ グリッド ビューのガイド。ここでは、SQL データベースまたは Excel ファイルからデータ グリッド ビューをロードおよびエクスポートする方法の例について説明します。

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。

XML形式を変更する方法はいくつかあります。Atepadなどのテキストエディターを使用して手動で編集する。 XmlBeautifierなどのオンラインまたはデスクトップXMLフォーマットツールを使用して自動的にフォーマットします。 XSLTなどのXML変換ツールを使用して変換ルールを定義します。または、Pythonなどのプログラミング言語を使用して解析および操作します。元のファイルを変更してバックアップするときは注意してください。
