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

ExceptionLikely CauseFix
FileNotFoundExceptionInput path does not existVerify path with File.Exists() before calling Process()
ArgumentExceptionUnsupported output format extensionUse a supported Visio extension (.vsdx, .vdx, .vsd, etc.)
Evaluation watermark in outputLicense not appliedApply metered licensing via metered.SetMeteredKey() before any Process() call
Output file not writtenOutput directory does not existCall Directory.CreateDirectory(outputDir) before conversion

See Also