Грешки при обратен извикване по време на експортиране и зареждане

Преглед на грешките при обратен извикване по време на експортиране и зареждане

Възможно е по време на експортиране или зареждане на чертежа да се сблъскаме с грешки, свързани със структурата на файла (например, секции в файла са необходими сега, но не и преди). Някои от тях са критични и в такива случаи се хвърля изключение, но можем да игнорираме и някои от тях вътрешно и да уведомим за това с помощта на съобщения за обратен извикване. Както и да е, всички тези съобщения изискват внимание, тъй като те могат да обяснят например отсъстващи единици в резултатите от експортиране или други ефекти.

Грешки по време на експортиране

Съществува поле RenderResult в CadRasterizationOptions, което включва IsRenderComplete, за да се провери дали е имало грешки по време на експортиране и да се отпечата информация за тях:

using (var image = Aspose.CAD.Image.Load(fileName))
{
image.Save(outfile, new PdfOptions()
{
VectorRasterizationOptions = new CadRasterizationOptions()
{
RenderResult = result =>
{
if (!result.IsRenderComplete)
{
foreach (var resultFailure in result.Failures)
{
System.Console.WriteLine($"Error: {resultFailure.Message} (error code {resultFailure.RenderCode})");
}
}
}
}
});
}

Грешки по време на зареждане

Някои проблеми с чертежите могат да бъдат наблюдавани по-рано, преди да започне процесът на експортиране. Свойството Errors в обекта LoadOptions се използва за съхранение на съобщения за тях. Свойството IgnoreErrors е полезно, за да се реши дали е необходимо да се хвърля изключение при грешки при зареждане или не.

Ето пример за използването на свойството Errors:

LoadOptions options = new LoadOptions();
using (Image cadImage = Image.Load(fileName, options))
{
foreach (RenderResult renderResult in options.Errors)
{
System.Console.WriteLine(renderResult.RenderCode + " " + renderResult.Message);
}
...
}