为什么 Image.FromFile 异常处理可能会产生误导
问题:
尝试为了提供更明确的错误消息,已编写代码来捕获由Image.FromFile 并将其作为具有自定义消息的 FormatException 重新抛出。然而,人们对这种方法的有效性产生了担忧。
答案:
Image.FromFile 抛出的 OutOfMemoryException 并不意味着内存分配问题。相反,它是 GDI 库用来处理各种错误的遗留错误代码,包括无效的图像格式。
作为 Image.FromFile 基础的 GDI 库是在 . NET 及其强大的异常处理系统。因此,GDI 依赖一组有限的错误代码来报告问题。 OutOfMemory 错误代码涵盖了各种问题,包括:
通过重写OutOfMemoryException,变得更加困难区分实际的内存分配失败和无效的图像文件。这可能会导致混乱和不正确的错误处理。
因此,建议避免修改 Image.FromFile 的异常处理行为。相反,最好依靠默认的错误报告机制来提供所遇到问题的最准确的描述。
以上是为什么从'Image.FromFile”捕获'OutOfMemoryException”并重新抛出'FormatException”会产生误导?的详细内容。更多信息请关注PHP中文网其他相关文章!