Files
fil/docs/snippets/csharp/advanced/error_handling.cs

73 lines
2.0 KiB
C#
Raw Normal View History

2026-06-01 23:40:55 +02:00
using Kreuzberg;
class Program
{
static async Task Main()
{
try
{
var result = await KreuzbergLib.ExtractFileAsync("document.pdf");
Console.WriteLine($"Extracted {result.Content.Length} characters");
}
catch (KreuzbergParsingException ex)
{
Console.WriteLine($"Failed to parse document: {ex.Message}");
}
catch (KreuzbergOcrException ex)
{
Console.WriteLine($"OCR processing failed: {ex.Message}");
}
catch (KreuzbergMissingDependencyException ex)
{
Console.WriteLine($"Missing dependency: {ex.Message}");
}
catch (KreuzbergException ex)
{
Console.WriteLine($"Extraction error: {ex.Message}");
}
try
{
var config = new ExtractionConfig();
var pdfBytes = new byte[] { 0x25, 0x50, 0x44, 0x46 };
var result = await KreuzbergLib.ExtractBytesAsync(
pdfBytes,
"application/pdf",
config
);
var preview = result.Content.Length > 100
? result.Content[..100] + "..."
: result.Content;
Console.WriteLine($"Extracted: {preview}");
}
catch (KreuzbergValidationException ex)
{
Console.WriteLine($"Invalid configuration: {ex.Message}");
}
catch (KreuzbergOcrException ex)
{
Console.WriteLine($"OCR failed: {ex.Message}");
}
catch (KreuzbergException ex)
{
Console.WriteLine($"Extraction failed: {ex.Message}");
}
try
{
var result = await KreuzbergLib.ExtractFileAsync("nonexistent.pdf");
}
catch (KreuzbergIOException)
{
Console.WriteLine("File not found");
}
catch (Exception ex)
{
Console.WriteLine($"Unexpected error: {ex.Message}");
}
}
}