OutOfMemoryException in Image.FromFile() und Bildformatgültigkeit
Frage:
Kann Eine von Image.FromFile() ausgelöste OutOfMemoryException weist auf ein ungültiges Bild hin Format?
Antwort:
In der Vergangenheit verließ sich GDI, das Bildbearbeitung in .NET ermöglicht, auf Fehlercodes für die Ausnahmebehandlung. Der OutOfMemory-Ausnahmecode in GDI wurde häufig verwendet, um auf verschiedene Probleme hinzuweisen, darunter Speichermangel und ungültige Bildformate.
Die aktuelle Implementierung von Image.FromFile() löst jedoch keine OutOfMemoryException für ungültige Bildformate aus. Stattdessen wird eine Ausnahme ausgelöst, die spezifischer und intuitiver ist, beispielsweise eine FormatException.
Der ursprüngliche Codeausschnitt in der Frage, der eine OutOfMemoryException abfängt und eine FormatException auslöst, ist für den Benutzer akzeptabel, da er mehr bietet aussagekräftige Fehlermeldung für ungültige Bildformate.
Historischer Kontext:
Die Verwendung von OutOfMemoryException in GDI für ungültige Bildformate war ein Legacy-Problem von C, wo Ausnahmen nicht so weit verbreitet waren wie in .NET. GDI wurde so konzipiert, dass es mit C kompatibel ist, was die Anzahl der definierbaren Fehlercodes begrenzte. Der OutOfMemory-Fehlercode wurde überlastet, um sowohl Speicherengpässe als auch ungültige Bildformate zu bewältigen.
Aktuelles Verhalten:
In modernen .NET-Implementierungen löst Image.FromFile() eine aus Spezifischere Ausnahme wie FormatException, um auf ein ungültiges Bildformat hinzuweisen. Dieses Verhalten entspricht den Best Practices für die Ausnahmebehandlung in .NET und bietet informativere Fehlermeldungen für ungültige Bilder.
Das obige ist der detaillierte Inhalt vonBedeutet eine „OutOfMemoryException' von „Image.FromFile()' immer nicht genügend Speicher?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!