[解決済み] ある例外が特定の型であるかどうかを判断する方法
2023-02-25 09:32:57
質問
try catchのコードを持っています。
try
{
...
}
catch(Exception ex)
{
ModelState.AddModelError(
"duplicateInvoiceNumberOrganisation", "The combination of organisation and invoice number must be unique");
}
このコードの一部では、データベースにレコードを挿入しようとしています。dbaは、データベースが重複をチェックし、重複がある場合はエラーを返すように設定しています。現在、ご覧のように、どのようなエラーが発生しても、同じエラーをモデルに追加しています。このエラーが、dbaによって設定された重複エラーによって引き起こされた場合のみ、モデルに追加されるように変更したいのです。
以下は、私がキャッチしたいエラーです。内部例外の中にあることに注意してください。誰かこれを具体的にキャッチする方法を教えてください。
どのように解決するのですか?
以前 を追加してください。
catch(DbUpdateException ex)
{
if(ex.InnerException is UpdateException)
{
// do what you want with ex.InnerException...
}
}
C#6からは、以下のようになります。
catch(DbUpdateException ex) when (ex.InnerException is UpdateException)
{
// do what you want with ex.InnerException...
}
関連
-
[解決済み] enumを列挙するには
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] 乱数(int)を生成する方法を教えてください。
-
[解決済み] DateTime型の誕生日から年齢を計算するにはどうしたらいいですか?
-
[解決済み] 型チェック:typeof、GetType、is?
-
[解決済み] 特定のプロパティに対するLINQのDistinct()
-
[解決済み] Pythonの関数が例外を投げるかどうかをテストするにはどうすればよいですか?
-
[解決済み] Rubyで「例外 => e」を救済するのはなぜ悪いスタイルなのですか?
-
[解決済み] Node.jsの例外処理のベストプラクティス
-
[解決済み】C#で例外をキャッチして再スローする理由とは?
最新
-
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#で四捨五入する方法
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み】ファイルへの読み書きの際に共有違反のIOExceptionが発生する C#
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み】C#のequal to演算子でtextとvarcharのデータ型は互換性がない
-
[解決済み】IntPtrとは一体何なのか?
-
[解決済み] 関数を終了するには?
-
[解決済み】別のスレッドがこのオブジェクトを所有しているため、呼び出し側のスレッドはこのオブジェクトにアクセスできない
-
[解決済み】名前 'ViewBag' が現在のコンテキストに存在しない - Visual Studio 2015