DiagramConverter Error Handling Guide
DiagramConverter Error Handling Guide
This guide covers how to handle errors and exceptions when converting Visio diagram files with DiagramConverter in Aspose.Diagram for .NET.
Prerequisites
- Aspose.Diagram for .NET (version 26.4.0 or later)
- Valid Aspose license applied before calling
Process()
Step 1: Wrap Each Conversion Call
DiagramConverter.Process() throws exceptions on conversion failure. Wrap each call in a try/catch block:
using System;
using Aspose.Diagram.LowCode;
try
{
DiagramConverter.Process("source.vsdx", "output.vdx");
}
catch (Exception ex)
{
Console.WriteLine($"Conversion failed: {ex.Message}");
}Step 2: Handle File-Not-Found Errors
System.IO.FileNotFoundException is thrown when the input file path is incorrect:
using System;
using System.IO;
using Aspose.Diagram.LowCode;
string inputFile = "diagrams/source.vsdx";
string outputFile = "diagrams/output.vdx";
if (!File.Exists(inputFile))
{
Console.WriteLine($"Input file not found: {inputFile}");
return;
}
DiagramConverter.Process(inputFile, outputFile);Step 3: Batch Conversion with Per-File Error Isolation
In batch jobs, catch exceptions per file so one corrupt input does not abort the entire batch:
using System;
using System.IO;
using Aspose.Diagram.LowCode;
string inputDir = "diagrams/input";
string outputDir = "diagrams/output";
Directory.CreateDirectory(outputDir);
int successCount = 0;
int failureCount = 0;
foreach (string file in Directory.GetFiles(inputDir, "*.vsdx"))
{
string output = Path.Combine(outputDir, Path.GetFileNameWithoutExtension(file) + ".vdx");
try
{
DiagramConverter.Process(file, output);
successCount++;
}
catch (Exception ex)
{
Console.WriteLine($"Failed: {Path.GetFileName(file)} — {ex.Message}");
failureCount++;
}
}
Console.WriteLine($"Batch complete: {successCount} succeeded, {failureCount} failed");Step 4: Validate Output Exists
After conversion, verify the output file was created:
using System;
using System.IO;
using Aspose.Diagram.LowCode;
string inputFile = "source.vsdx";
string output = "output.vdx";
DiagramConverter.Process(inputFile, output);
if (!File.Exists(output))
{
throw new InvalidOperationException($"Conversion completed but output file not found: {output}");
}Troubleshooting
| Exception | Likely Cause | Fix |
|---|---|---|
FileNotFoundException | Input path does not exist | Verify path with File.Exists() before calling Process() |
ArgumentException | Unsupported output format extension | Use a supported Visio extension (.vsdx, .vdx, .vsd, etc.) |
| Evaluation watermark in output | License not applied | Apply metered licensing via metered.SetMeteredKey() before any Process() call |
| Output file not written | Output directory does not exist | Call Directory.CreateDirectory(outputDir) before conversion |