Image.FromFile() の OutOfMemoryException と画像形式の有効性
質問:
Image.FromFile() によってスローされた OutOfMemoryException は、無効な画像を示しますformat?
答え:
これまで、.NET でイメージ操作を提供する GDI は、例外処理のエラー コードに依存していました。 GDI の OutOfMemory 例外コードは、メモリ不足や無効な画像形式などのさまざまな問題を示すためによく使用されていました。
しかし、Image.FromFile() の現在の実装では、無効な画像形式に対して OutOfMemoryException をスローしません。代わりに、FormatException など、より具体的で直感的な例外をスローします。
質問内の元のコード スニペットは、OutOfMemoryException をキャッチして FormatException をスローしますが、より多くの機能を提供するため、ユーザーは受け入れられます。無効な画像形式に関する意味のあるエラー メッセージ。
歴史的コンテキスト:
無効な画像形式に対する GDI での OutOfMemoryException の使用は、C からのレガシー問題であり、例外は .NET ほど広く採用されていませんでした。 GDI は C と互換性があるように設計されており、定義できるエラー コードの数は制限されていました。 OutOfMemory エラー コードは、メモリ不足と無効な画像形式の両方を処理するためにオーバーロードされました。
現在の動作:
最新の .NET 実装では、Image.FromFile() は無効な画像形式を示す、FormatException などのより具体的な例外。この動作は、.NET の例外処理のベスト プラクティスと一致しており、無効なイメージに対してより有益なエラー メッセージを提供します。
以上が「Image.FromFile()」からの「OutOfMemoryException」は常にメモリ不足を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。