C#でカスタム例外を実装するための業界標準のベストプラクティスは何ですか?
2023-10-04 19:23:17
質問
C#でカスタム例外を実装するための業界標準のベストプラクティスは何ですか?
Googleで調べたところ、非常に多くの推奨事項がありましたが、どれがより信頼できるものなのかわかりません。
どなたか、権威ある記事へのリンクをお持ちでしたら、それも参考にさせていただきます。
どのように解決するのですか?
カスタム例外を作成する際の標準的な方法は 例外 . その後、独自のプロパティ/メソッドやオーバーロードされたコンストラクタを導入することができます(該当する場合)。
以下は、カスタムの基本的な例です。
ConnectionFailedException
で、例外の種類に応じた追加のパラメータを受け取ります。
[Serializable]
public class ConnectionFailedException : Exception
{
public ConnectionFailedException(string message, string connectionString)
: base(message)
{
ConnectionString = connectionString;
}
public string ConnectionString { get; private set; }
}
アプリケーションでは、これはアプリケーションがデータベースに接続しようとするシナリオで使用されます。
try
{
ConnectToDb(AConnString);
}
catch (Exception ex)
{
throw new ConnectionFailedException(ex.Message, AConnString);
}
を処理するのはあなた次第です。
ConnectionFailedException
をより高いレベルで処理します(該当する場合)。
関連
-
[解決済み】コンパイルエラー「未割り当てのローカル変数を使用しています」が発生したのはなぜですか?
-
[解決済み] [Solved] アセンブリ System.Web.Extensions dll はどこにありますか?
-
[解決済み】 C# 条件演算子エラー 代入、call、increment、decrement、await、new object 式のみ文として使用可能です。
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
[解決済み] C#でお金に使うデータ型は何が良いのか?
-
[解決済み] C#の正しいバージョン番号を教えてください。
-
[解決済み】WCFクライアント `using` ブロックの問題に対する最良の回避策は何ですか?
-
[解決済み】.NETの例外をキャッチして再スローするためのベストプラクティス
-
[解決済み] .NET 4.0でのSmtpClient、SendAsync、Disposeの使用に関するベストプラクティスを教えてください。
-
[解決済み] ベストプラクティス: プロパティから例外を投げる
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C#で四捨五入する方法
-
[解決済み】C#におけるtypedefの等価性
-
[解決済み] [Entity Framework 4.1でエンティティに関連オブジェクトを追加する際に、エンティティオブジェクトをIEntityChangeTracker.の複数のインスタンスから参照できない。
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】C# ASP.NET使用時に「WebClientのリクエスト中に例外が発生しました。
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み】 C# 条件演算子エラー 代入、call、increment、decrement、await、new object 式のみ文として使用可能です。
-
[解決済み】インデックスが範囲外でした。コレクションパラメータname:indexのサイズより小さく、非負でなければなりません。
-
[解決済み】カスタム.NET Exceptionをシリアライズ可能にする正しい方法は何ですか?