Image.FromFile 中的 OutOfMemoryException:有意还是错误?
问题:
在代码中拦截 OutOfMemoryException 并针对无效图像引发信息更丰富的 FormatException格式,这种处理是否可以接受,还是出于某种原因故意抛出 OutOfMemoryException?
答案:
Image.FromFile 中的 OutOfMemoryException 是前一个历史工件。 NET GDI 库,它使用有限的错误代码。 Status.OutOfMemory 错误代码已重载,以涵盖实际内存耗尽和无效图像格式。
由于此重载,Image.FromFile 无法区分内存不足和无效图像数据。因此,无效图像格式始终会引发 OutOfMemoryException。
含义:
拦截 OutOfMemoryException 并针对无效图像格式抛出 FormatException 的代码是可接受的。这种方法为无效图像格式的特定情况提供了更用户友好的异常消息。
结论:
在 GDI 中对无效图像格式使用 OutOfMemoryException 是不是有意设计的结果。相反,它是遗留错误代码处理系统的限制。通过拦截并重新抛出信息更丰富的异常,开发人员可以在遇到无效图像格式时改善用户体验。
以上是'Image.FromFile”中的'OutOfMemoryException”是故意的还是遗留问题?的详细内容。更多信息请关注PHP中文网其他相关文章!