Ошибки обратного вызова при экспорте и загрузке
Обзор ошибок обратного вызова при экспорте и загрузке
Возможно, что во время экспорта или загрузки чертежа мы можем столкнуться с ошибками, связанными со структурой файла (например, разделы в файле теперь обязательны, а ранее не были). Некоторые из них критичны, и в таких случаях возникает исключение, но мы также можем игнорировать некоторые из них внутренне и уведомлять об этом с помощью сообщений обратного вызова. В любом случае все эти сообщения требуют внимания, поскольку они могут объяснить, например, отсутствие сущностей в результатах экспорта или другие эффекты.
Ошибки при экспорте
В 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); | |
} | |
... | |
} |