Ошибки обратного вызова при экспорте и загрузке

Обзор ошибок обратного вызова при экспорте и загрузке

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

Ошибки при экспорте

В CadRasterizationOptions существует поле RenderResult, которое включает 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);
}
...
}