• システム開発に関わる内容をざっくりと書いていく

ロジック

C# async await デッドロック・待ち続けるときの見方

C# の async/await で「終わらない」「UI やリクエストが固まる」ときは、例外より待ち方の設計が原因なことが多い。 この記事では、デッドロックっぽく見える待ちと、よくある直し方をざっくり整理する。 先に結論 ...

続きを読む

ArgumentNullException と NullReferenceException の使い分け

ArgumentNullException と NullReferenceException は、どちらも「null」が絡む例外だが、意味も出し方も違う。 現場では「どっちを投げればいい?」「どっちが落ちた?」で迷いやす ...

続きを読む

InvalidOperationException よくある発生パターン(LINQ / DI / コレクション)

InvalidOperationException は「今の状態ではその操作はできない」ときに出る。メッセージだけ見ると抽象的で、現場では LINQ・DI・コレクション周りでよく当たる。 この記事では、よくある発生パター ...

続きを読む

ObjectDisposedException 発生原因と対策

ObjectDisposedException は、「すでに破棄(Dispose)されたオブジェクトを使った」ときに出る。HttpClient・Stream・DbContext・CancellationTokenSour ...

続きを読む

C# AggregateException のほどき方(Flatten / InnerExceptions)

AggregateException は「複数の例外をまとめた袋」。async / Task.WhenAll / Parallel でよく出る。中身をほどかないと本当の原因が見えない。 先に結論 いつ出現するか ほどき方 ...

続きを読む

C# JsonException / デシリアライズ失敗の原因と対策

System.Text.Json のデシリアライズ失敗で出る例外の切り分け。API 連携やキューメッセージで頻出。 先に結論 よくある原因 1. 本文自体が壊れている 2. 型が合わない 数値が文字列で来ている、配列なの ...

続きを読む

C# TimeoutException / 操作タイムアウトの切り分け

TimeoutException や「操作がタイムアウトしました」系は、どこで時間切れになったかの特定が先。HttpClient・DB・自前の Wait で原因が違う。 先に結論 よくある発生源 切り分け手順 対策の型 ...

続きを読む

C# FileNotFoundException / DirectoryNotFoundException の切り分け

ファイル・ディレクトリが見つからない例外。パス文字列のミス、作業ディレクトリ、配布物の欠けがほとんど。 先に結論 切り分け 対策の型 ざっくりまとめ 関連記事

続きを読む

C# UnauthorizedAccessException(ファイル・権限)の原因と対策

UnauthorizedAccessException は、ファイル/フォルダ/レジストリなどへのアクセスが OS に拒否されたときに出る。権限・読み取り専用・排他ロックが典型。 先に結論 よくある原因 切り分け 対策 ...

続きを読む

C# SocketException 接続失敗の見方

SocketException は TCP/UDP 層の失敗。HttpClient や SqlClient の内側に出ることが多く、「接続できない」系の一次切り分けに使う。 先に結論 よく見る SocketError 切 ...

続きを読む