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

例外(エラー)

ASP.NET Core CORS エラーの原因と設定

フロントと API を分けた瞬間に出やすいのが CORS エラー。ブラウザのコンソールには出るが、サーバログには何も残らないことが多く、初見だと迷いやすい。 この記事では、原因の型とASP.NET Core での設定をざ ...

続きを読む

Entity Framework Core DbUpdateException の切り分け

EF Core で SaveChanges / SaveChangesAsync したときに出る DbUpdateException。内側を見ないと原因が分からないことが多い。 この記事では、よくある中身と切り分け手順を ...

続きを読む

SQL Server デッドロックの見方と対策

SQL Server のデッドロックは、「お互いのロックを奪い合って進める」状態。エラー 1205 で一方が犠牲者(victim)になる。 この記事では、見方とざっくりした対策を逆引きできるようにまとめる。 先に結論 症 ...

続きを読む

ArgumentNullException と NullReferenceException の使い分け

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

続きを読む

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

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

続きを読む

ObjectDisposedException 発生原因と対策

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

続きを読む

DI「Unable to resolve service for type」の原因と対策

ASP.NET Core / .NET の DI でよく出る Unable to resolve service for type 'XXX' while attempting to activate 'YYY'。登録漏 ...

続きを読む

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

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

続きを読む

C# HttpClient の使い回しとソケット枯渇

C# で new HttpClient() をリクエストごとに new / Dispose すると、しばらくして ソケット枯渇・断続的タイムアウト・SocketException が出ることがある。 この記事ではなぜ起き ...

続きを読む

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

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

続きを読む