Image.FromFile 中的 OutOfMemoryException:有意還是錯誤?
問題:
在程式碼中攔截OutOfMemoryException 並針對無效影像引發資訊更豐富的FormatException格式,這種處理是否可以接受,還是出於某種原因故意拋出OutOfMemoryException?
答案:
Image.FromFile 中的 OutOfMemoryException 是前一個歷史工件。 NET GDI 函式庫,它使用有限的錯誤代碼。 Status.OutOfMemory 錯誤代碼已重載,以涵蓋實際記憶體耗盡和無效圖像格式。
由於此重載,Image.FromFile 無法區分記憶體不足和無效影像資料。因此,無效圖像格式始終會引發 OutOfMemoryException。
意義:
攔截 OutOfMemoryException 並針對無效圖像格式拋出 FormatException 的程式碼是可接受的。這種方法為無效圖像格式的特定情況提供了更用戶友好的異常訊息。
結論:
在 GDI 中對無效圖像格式使用 OutOfMemoryException 是不是有意設計的結果。相反,它是遺留錯誤代碼處理系統的限制。透過攔截並重新拋出資訊更豐富的異常,開發人員可以在遇到無效影像格式時改善使用者體驗。
以上是「Image.FromFile」中的「OutOfMemoryException」是故意的還是遺留問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!